{
    "layout": {
        "params": {
            "plotly_name": "layout",
            "parent_name": "",
            "data_class_str": "Layout",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "layout",
            "data_class_str": "YAxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis.zerolinewidth": {
        "params": {
            "plotly_name": "zerolinewidth",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.zerolinelayer": {
        "params": {
            "plotly_name": "zerolinelayer",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.zerolinecolor": {
        "params": {
            "plotly_name": "zerolinecolor",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.zeroline": {
        "params": {
            "plotly_name": "zeroline",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.unifiedhovertitle": {
        "params": {
            "plotly_name": "unifiedhovertitle",
            "parent_name": "layout.yaxis",
            "data_class_str": "Unifiedhovertitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis.unifiedhovertitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.yaxis.unifiedhovertitle",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.yaxis",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.yaxis",
            "edit_type": "calc",
            "values": [
                "-",
                "linear",
                "log",
                "date",
                "category",
                "multicategory"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.yaxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.yaxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.yaxis.title",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.title.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "layout.yaxis.title",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.yaxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.yaxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.yaxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.yaxis.title.font",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.yaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.yaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.tickson": {
        "params": {
            "plotly_name": "tickson",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "values": [
                "labels",
                "boundaries"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array",
                "sync"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.yaxis.ticklabelstandoff": {
        "params": {
            "plotly_name": "ticklabelstandoff",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "IntegerValidator"
    },
    "layout.yaxis.ticklabelshift": {
        "params": {
            "plotly_name": "ticklabelshift",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "IntegerValidator"
    },
    "layout.yaxis.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "layout.yaxis",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "layout.yaxis",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.ticklabelmode": {
        "params": {
            "plotly_name": "ticklabelmode",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "values": [
                "instant",
                "period"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.ticklabelindex": {
        "params": {
            "plotly_name": "ticklabelindex",
            "parent_name": "layout.yaxis",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "IntegerValidator"
    },
    "layout.yaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.yaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.yaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.yaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.yaxis.tickformatstop",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.yaxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.yaxis.tickformatstop",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.yaxis.tickformatstop",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.yaxis.tickformatstop",
            "edit_type": "ticks",
            "items": [
                {
                    "editType": "ticks",
                    "valType": "any"
                },
                {
                    "editType": "ticks",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.yaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.yaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.yaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.yaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.yaxis.tickfont",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "AngleValidator"
    },
    "layout.yaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.spikethickness": {
        "params": {
            "plotly_name": "spikethickness",
            "parent_name": "layout.yaxis",
            "edit_type": "none"
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.spikesnap": {
        "params": {
            "plotly_name": "spikesnap",
            "parent_name": "layout.yaxis",
            "edit_type": "none",
            "values": [
                "data",
                "cursor",
                "hovered data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.spikemode": {
        "params": {
            "plotly_name": "spikemode",
            "parent_name": "layout.yaxis",
            "edit_type": "none",
            "flags": [
                "toaxis",
                "across",
                "marker"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.yaxis.spikedash": {
        "params": {
            "plotly_name": "spikedash",
            "parent_name": "layout.yaxis",
            "edit_type": "none",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.yaxis.spikecolor": {
        "params": {
            "plotly_name": "spikecolor",
            "parent_name": "layout.yaxis",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "top",
                "bottom",
                "left",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.showspikes": {
        "params": {
            "plotly_name": "showspikes",
            "parent_name": "layout.yaxis",
            "edit_type": "modebar"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks+layoutstyle"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.showdividers": {
        "params": {
            "plotly_name": "showdividers",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.shift": {
        "params": {
            "plotly_name": "shift",
            "parent_name": "layout.yaxis",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.scaleratio": {
        "params": {
            "plotly_name": "scaleratio",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.scaleanchor": {
        "params": {
            "plotly_name": "scaleanchor",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "normal",
                "tozero",
                "nonnegative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.rangebreakdefaults": {
        "params": {
            "plotly_name": "rangebreakdefaults",
            "parent_name": "layout.yaxis",
            "data_class_str": "Rangebreak",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis.rangebreaks": {
        "params": {
            "plotly_name": "rangebreaks",
            "parent_name": "layout.yaxis",
            "data_class_str": "Rangebreak",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.yaxis.rangebreak.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "layout.yaxis.rangebreak",
            "edit_type": "calc",
            "free_length": true,
            "items": {
                "editType": "calc",
                "valType": "any"
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.yaxis.rangebreak.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.yaxis.rangebreak",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.rangebreak.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "layout.yaxis.rangebreak",
            "edit_type": "calc",
            "values": [
                "day of week",
                "hour",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.rangebreak.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.yaxis.rangebreak",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.rangebreak.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.yaxis.rangebreak",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.rangebreak.dvalue": {
        "params": {
            "plotly_name": "dvalue",
            "parent_name": "layout.yaxis.rangebreak",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.rangebreak.bounds": {
        "params": {
            "plotly_name": "bounds",
            "parent_name": "layout.yaxis.rangebreak",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.yaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.yaxis",
            "anim": true,
            "edit_type": "axrange",
            "implied_edits": {
                "autorange": false
            },
            "items": [
                {
                    "anim": true,
                    "editType": "axrange",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                },
                {
                    "anim": true,
                    "editType": "axrange",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.yaxis.position": {
        "params": {
            "plotly_name": "position",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.overlaying": {
        "params": {
            "plotly_name": "overlaying",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "free",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.yaxis.modebardisable": {
        "params": {
            "plotly_name": "modebardisable",
            "parent_name": "layout.yaxis",
            "edit_type": "modebar",
            "extras": [
                "none"
            ],
            "flags": [
                "autoscale",
                "zoominout"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.yaxis.mirror": {
        "params": {
            "plotly_name": "mirror",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks+layoutstyle",
            "values": [
                true,
                "ticks",
                false,
                "all",
                "allticks"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.minorloglabels": {
        "params": {
            "plotly_name": "minorloglabels",
            "parent_name": "layout.yaxis",
            "edit_type": "calc",
            "values": [
                "small digits",
                "complete",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.minor": {
        "params": {
            "plotly_name": "minor",
            "parent_name": "layout.yaxis",
            "data_class_str": "Minor",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis.minor.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.minor.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.yaxis.minor.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.minor.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.minor.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.minor.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.minor.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.minor.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.minor.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.yaxis.minor.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.minor.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.yaxis.minor.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.minor.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.yaxis.minor",
            "edit_type": "ticks",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.matches": {
        "params": {
            "plotly_name": "matches",
            "parent_name": "layout.yaxis",
            "edit_type": "calc",
            "values": [
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks+layoutstyle",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.yaxis",
            "edit_type": "layoutstyle"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.insiderange": {
        "params": {
            "plotly_name": "insiderange",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.yaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.yaxis",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.yaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.yaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.fixedrange": {
        "params": {
            "plotly_name": "fixedrange",
            "parent_name": "layout.yaxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.yaxis.dividerwidth": {
        "params": {
            "plotly_name": "dividerwidth",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "NumberValidator"
    },
    "layout.yaxis.dividercolor": {
        "params": {
            "plotly_name": "dividercolor",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.constraintoward": {
        "params": {
            "plotly_name": "constraintoward",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "left",
                "center",
                "right",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.constrain": {
        "params": {
            "plotly_name": "constrain",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "range",
                "domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.yaxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "layout.yaxis",
            "edit_type": "calc",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array",
                "total ascending",
                "total descending",
                "min ascending",
                "min descending",
                "max ascending",
                "max descending",
                "sum ascending",
                "sum descending",
                "mean ascending",
                "mean descending",
                "geometric mean ascending",
                "geometric mean descending",
                "median ascending",
                "median descending"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "layout.yaxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.yaxis.calendar": {
        "params": {
            "plotly_name": "calendar",
            "parent_name": "layout.yaxis",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "layout.yaxis",
            "edit_type": "calc",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.autotickangles": {
        "params": {
            "plotly_name": "autotickangles",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "free_length": true,
            "items": {
                "valType": "angle"
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.yaxis.autoshift": {
        "params": {
            "plotly_name": "autoshift",
            "parent_name": "layout.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.yaxis.autorangeoptions": {
        "params": {
            "plotly_name": "autorangeoptions",
            "parent_name": "layout.yaxis",
            "data_class_str": "Autorangeoptions",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.yaxis.autorangeoptions.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.yaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.autorangeoptions.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.yaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.autorangeoptions.include": {
        "params": {
            "plotly_name": "include",
            "parent_name": "layout.yaxis.autorangeoptions",
            "array_ok": true,
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.autorangeoptions.clipmin": {
        "params": {
            "plotly_name": "clipmin",
            "parent_name": "layout.yaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.autorangeoptions.clipmax": {
        "params": {
            "plotly_name": "clipmax",
            "parent_name": "layout.yaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.yaxis.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "layout.yaxis",
            "edit_type": "axrange",
            "implied_edits": {},
            "values": [
                true,
                false,
                "reversed",
                "min reversed",
                "max reversed",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.yaxis.automargin": {
        "params": {
            "plotly_name": "automargin",
            "parent_name": "layout.yaxis",
            "edit_type": "ticks",
            "extras": [
                true,
                false
            ],
            "flags": [
                "height",
                "width",
                "left",
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.yaxis.anchor": {
        "params": {
            "plotly_name": "anchor",
            "parent_name": "layout.yaxis",
            "edit_type": "plot",
            "values": [
                "free",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "layout",
            "data_class_str": "XAxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.zerolinewidth": {
        "params": {
            "plotly_name": "zerolinewidth",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.zerolinelayer": {
        "params": {
            "plotly_name": "zerolinelayer",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.zerolinecolor": {
        "params": {
            "plotly_name": "zerolinecolor",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.zeroline": {
        "params": {
            "plotly_name": "zeroline",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.unifiedhovertitle": {
        "params": {
            "plotly_name": "unifiedhovertitle",
            "parent_name": "layout.xaxis",
            "data_class_str": "Unifiedhovertitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.unifiedhovertitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.xaxis.unifiedhovertitle",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.xaxis",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.xaxis",
            "edit_type": "calc",
            "values": [
                "-",
                "linear",
                "log",
                "date",
                "category",
                "multicategory"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.xaxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.xaxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.xaxis.title",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.title.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "layout.xaxis.title",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.xaxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.xaxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.xaxis.title.font",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.xaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.xaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.tickson": {
        "params": {
            "plotly_name": "tickson",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "values": [
                "labels",
                "boundaries"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array",
                "sync"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.ticklabelstandoff": {
        "params": {
            "plotly_name": "ticklabelstandoff",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.ticklabelshift": {
        "params": {
            "plotly_name": "ticklabelshift",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "layout.xaxis",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "layout.xaxis",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.ticklabelmode": {
        "params": {
            "plotly_name": "ticklabelmode",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "values": [
                "instant",
                "period"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.ticklabelindex": {
        "params": {
            "plotly_name": "ticklabelindex",
            "parent_name": "layout.xaxis",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.xaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.xaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.xaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.xaxis.tickformatstop",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.xaxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.xaxis.tickformatstop",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.xaxis.tickformatstop",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.xaxis.tickformatstop",
            "edit_type": "ticks",
            "items": [
                {
                    "editType": "ticks",
                    "valType": "any"
                },
                {
                    "editType": "ticks",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.xaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.xaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.xaxis.tickfont",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "AngleValidator"
    },
    "layout.xaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.spikethickness": {
        "params": {
            "plotly_name": "spikethickness",
            "parent_name": "layout.xaxis",
            "edit_type": "none"
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.spikesnap": {
        "params": {
            "plotly_name": "spikesnap",
            "parent_name": "layout.xaxis",
            "edit_type": "none",
            "values": [
                "data",
                "cursor",
                "hovered data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.spikemode": {
        "params": {
            "plotly_name": "spikemode",
            "parent_name": "layout.xaxis",
            "edit_type": "none",
            "flags": [
                "toaxis",
                "across",
                "marker"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.xaxis.spikedash": {
        "params": {
            "plotly_name": "spikedash",
            "parent_name": "layout.xaxis",
            "edit_type": "none",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.xaxis.spikecolor": {
        "params": {
            "plotly_name": "spikecolor",
            "parent_name": "layout.xaxis",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "top",
                "bottom",
                "left",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.showspikes": {
        "params": {
            "plotly_name": "showspikes",
            "parent_name": "layout.xaxis",
            "edit_type": "modebar"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks+layoutstyle"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.showdividers": {
        "params": {
            "plotly_name": "showdividers",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.scaleratio": {
        "params": {
            "plotly_name": "scaleratio",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.scaleanchor": {
        "params": {
            "plotly_name": "scaleanchor",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeslider": {
        "params": {
            "plotly_name": "rangeslider",
            "parent_name": "layout.xaxis",
            "data_class_str": "Rangeslider",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.rangeslider.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "layout.xaxis.rangeslider",
            "data_class_str": "YAxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.rangeslider.yaxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "layout.xaxis.rangeslider.yaxis",
            "edit_type": "calc",
            "values": [
                "auto",
                "fixed",
                "match"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeslider.yaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.xaxis.rangeslider.yaxis",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.rangeslider.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.xaxis.rangeslider",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.rangeslider.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "layout.xaxis.rangeslider",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.rangeslider.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.xaxis.rangeslider",
            "edit_type": "calc",
            "implied_edits": {
                "autorange": false
            },
            "items": [
                {
                    "editType": "calc",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.rangeslider.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "layout.xaxis.rangeslider",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.rangeslider.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.xaxis.rangeslider",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.rangeslider.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.xaxis.rangeslider",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.rangeslider.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "layout.xaxis.rangeslider",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.rangeselector": {
        "params": {
            "plotly_name": "rangeselector",
            "parent_name": "layout.xaxis",
            "data_class_str": "Rangeselector",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.rangeselector.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot",
            "values": [
                "auto",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeselector.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot",
            "max": 3,
            "min": -2
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.rangeselector.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeselector.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot",
            "max": 3,
            "min": -2
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.rangeselector.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.rangeselector.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.xaxis.rangeselector",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.rangeselector.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.rangeselector.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeselector.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeselector.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeselector.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.rangeselector.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.rangeselector.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.xaxis.rangeselector.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.rangeselector.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.xaxis.rangeselector.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.rangeselector.buttondefaults": {
        "params": {
            "plotly_name": "buttondefaults",
            "parent_name": "layout.xaxis.rangeselector",
            "data_class_str": "Button",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.rangeselector.buttons": {
        "params": {
            "plotly_name": "buttons",
            "parent_name": "layout.xaxis.rangeselector",
            "data_class_str": "Button",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.xaxis.rangeselector.button.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.xaxis.rangeselector.button",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.rangeselector.button.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.xaxis.rangeselector.button",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.rangeselector.button.stepmode": {
        "params": {
            "plotly_name": "stepmode",
            "parent_name": "layout.xaxis.rangeselector.button",
            "edit_type": "plot",
            "values": [
                "backward",
                "todate"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeselector.button.step": {
        "params": {
            "plotly_name": "step",
            "parent_name": "layout.xaxis.rangeselector.button",
            "edit_type": "plot",
            "values": [
                "month",
                "year",
                "day",
                "hour",
                "minute",
                "second",
                "all"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangeselector.button.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.xaxis.rangeselector.button",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.rangeselector.button.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "layout.xaxis.rangeselector.button",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.rangeselector.button.count": {
        "params": {
            "plotly_name": "count",
            "parent_name": "layout.xaxis.rangeselector.button",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.rangeselector.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.rangeselector.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.rangeselector.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.rangeselector.activecolor": {
        "params": {
            "plotly_name": "activecolor",
            "parent_name": "layout.xaxis.rangeselector",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "normal",
                "tozero",
                "nonnegative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangebreakdefaults": {
        "params": {
            "plotly_name": "rangebreakdefaults",
            "parent_name": "layout.xaxis",
            "data_class_str": "Rangebreak",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.rangebreaks": {
        "params": {
            "plotly_name": "rangebreaks",
            "parent_name": "layout.xaxis",
            "data_class_str": "Rangebreak",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.xaxis.rangebreak.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "layout.xaxis.rangebreak",
            "edit_type": "calc",
            "free_length": true,
            "items": {
                "editType": "calc",
                "valType": "any"
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.rangebreak.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.xaxis.rangebreak",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.rangebreak.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "layout.xaxis.rangebreak",
            "edit_type": "calc",
            "values": [
                "day of week",
                "hour",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.rangebreak.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.xaxis.rangebreak",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.rangebreak.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.xaxis.rangebreak",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.rangebreak.dvalue": {
        "params": {
            "plotly_name": "dvalue",
            "parent_name": "layout.xaxis.rangebreak",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.rangebreak.bounds": {
        "params": {
            "plotly_name": "bounds",
            "parent_name": "layout.xaxis.rangebreak",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.xaxis",
            "anim": true,
            "edit_type": "axrange",
            "implied_edits": {
                "autorange": false
            },
            "items": [
                {
                    "anim": true,
                    "editType": "axrange",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                },
                {
                    "anim": true,
                    "editType": "axrange",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.position": {
        "params": {
            "plotly_name": "position",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.overlaying": {
        "params": {
            "plotly_name": "overlaying",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "free",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.modebardisable": {
        "params": {
            "plotly_name": "modebardisable",
            "parent_name": "layout.xaxis",
            "edit_type": "modebar",
            "extras": [
                "none"
            ],
            "flags": [
                "autoscale",
                "zoominout"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.xaxis.mirror": {
        "params": {
            "plotly_name": "mirror",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks+layoutstyle",
            "values": [
                true,
                "ticks",
                false,
                "all",
                "allticks"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.minorloglabels": {
        "params": {
            "plotly_name": "minorloglabels",
            "parent_name": "layout.xaxis",
            "edit_type": "calc",
            "values": [
                "small digits",
                "complete",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.minor": {
        "params": {
            "plotly_name": "minor",
            "parent_name": "layout.xaxis",
            "data_class_str": "Minor",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.minor.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.minor.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.xaxis.minor.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.minor.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.minor.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.minor.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.minor.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.minor.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.minor.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.xaxis.minor.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.minor.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.xaxis.minor.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.minor.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.xaxis.minor",
            "edit_type": "ticks",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.matches": {
        "params": {
            "plotly_name": "matches",
            "parent_name": "layout.xaxis",
            "edit_type": "calc",
            "values": [
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks+layoutstyle",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.xaxis",
            "edit_type": "layoutstyle"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.insiderange": {
        "params": {
            "plotly_name": "insiderange",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.xaxis",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.xaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.xaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.fixedrange": {
        "params": {
            "plotly_name": "fixedrange",
            "parent_name": "layout.xaxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.xaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.dividerwidth": {
        "params": {
            "plotly_name": "dividerwidth",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "NumberValidator"
    },
    "layout.xaxis.dividercolor": {
        "params": {
            "plotly_name": "dividercolor",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.constraintoward": {
        "params": {
            "plotly_name": "constraintoward",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "left",
                "center",
                "right",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.constrain": {
        "params": {
            "plotly_name": "constrain",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "range",
                "domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.xaxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "layout.xaxis",
            "edit_type": "calc",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array",
                "total ascending",
                "total descending",
                "min ascending",
                "min descending",
                "max ascending",
                "max descending",
                "sum ascending",
                "sum descending",
                "mean ascending",
                "mean descending",
                "geometric mean ascending",
                "geometric mean descending",
                "median ascending",
                "median descending"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "layout.xaxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.xaxis.calendar": {
        "params": {
            "plotly_name": "calendar",
            "parent_name": "layout.xaxis",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "layout.xaxis",
            "edit_type": "calc",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.autotickangles": {
        "params": {
            "plotly_name": "autotickangles",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "free_length": true,
            "items": {
                "valType": "angle"
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.xaxis.autorangeoptions": {
        "params": {
            "plotly_name": "autorangeoptions",
            "parent_name": "layout.xaxis",
            "data_class_str": "Autorangeoptions",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.xaxis.autorangeoptions.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.xaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.autorangeoptions.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.xaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.autorangeoptions.include": {
        "params": {
            "plotly_name": "include",
            "parent_name": "layout.xaxis.autorangeoptions",
            "array_ok": true,
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.autorangeoptions.clipmin": {
        "params": {
            "plotly_name": "clipmin",
            "parent_name": "layout.xaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.autorangeoptions.clipmax": {
        "params": {
            "plotly_name": "clipmax",
            "parent_name": "layout.xaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.xaxis.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "layout.xaxis",
            "edit_type": "axrange",
            "implied_edits": {},
            "values": [
                true,
                false,
                "reversed",
                "min reversed",
                "max reversed",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.xaxis.automargin": {
        "params": {
            "plotly_name": "automargin",
            "parent_name": "layout.xaxis",
            "edit_type": "ticks",
            "extras": [
                true,
                false
            ],
            "flags": [
                "height",
                "width",
                "left",
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.xaxis.anchor": {
        "params": {
            "plotly_name": "anchor",
            "parent_name": "layout.xaxis",
            "edit_type": "plot",
            "values": [
                "free",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "layout",
            "edit_type": "plot",
            "min": 10
        },
        "superclass": "NumberValidator"
    },
    "layout.waterfallmode": {
        "params": {
            "plotly_name": "waterfallmode",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "group",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.waterfallgroupgap": {
        "params": {
            "plotly_name": "waterfallgroupgap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.waterfallgap": {
        "params": {
            "plotly_name": "waterfallgap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.violinmode": {
        "params": {
            "plotly_name": "violinmode",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "group",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.violingroupgap": {
        "params": {
            "plotly_name": "violingroupgap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.violingap": {
        "params": {
            "plotly_name": "violingap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenudefaults": {
        "params": {
            "plotly_name": "updatemenudefaults",
            "parent_name": "layout",
            "data_class_str": "Updatemenu",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.updatemenus": {
        "params": {
            "plotly_name": "updatemenus",
            "parent_name": "layout",
            "data_class_str": "Updatemenu",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.updatemenu.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw",
            "values": [
                "auto",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.updatemenu.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw",
            "max": 3,
            "min": -2
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenu.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.updatemenu.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw",
            "max": 3,
            "min": -2
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenu.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.updatemenu.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw",
            "values": [
                "dropdown",
                "buttons"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.updatemenu.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.updatemenu.showactive": {
        "params": {
            "plotly_name": "showactive",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.updatemenu.pad": {
        "params": {
            "plotly_name": "pad",
            "parent_name": "layout.updatemenu",
            "data_class_str": "Pad",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.updatemenu.pad.t": {
        "params": {
            "plotly_name": "t",
            "parent_name": "layout.updatemenu.pad",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenu.pad.r": {
        "params": {
            "plotly_name": "r",
            "parent_name": "layout.updatemenu.pad",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenu.pad.l": {
        "params": {
            "plotly_name": "l",
            "parent_name": "layout.updatemenu.pad",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenu.pad.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "layout.updatemenu.pad",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenu.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.updatemenu.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.updatemenu",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.updatemenu.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.updatemenu.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.updatemenu.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.updatemenu.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.updatemenu.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenu.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.updatemenu.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.updatemenu.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.updatemenu.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.updatemenu.font",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.updatemenu.direction": {
        "params": {
            "plotly_name": "direction",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw",
            "values": [
                "left",
                "right",
                "up",
                "down"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.updatemenu.buttondefaults": {
        "params": {
            "plotly_name": "buttondefaults",
            "parent_name": "layout.updatemenu",
            "data_class_str": "Button",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.updatemenu.buttons": {
        "params": {
            "plotly_name": "buttons",
            "parent_name": "layout.updatemenu",
            "data_class_str": "Button",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.updatemenu.button.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.updatemenu.button",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.updatemenu.button.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.updatemenu.button",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.updatemenu.button.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.updatemenu.button",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.updatemenu.button.method": {
        "params": {
            "plotly_name": "method",
            "parent_name": "layout.updatemenu.button",
            "edit_type": "arraydraw",
            "values": [
                "restyle",
                "relayout",
                "animate",
                "update",
                "skip"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.updatemenu.button.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "layout.updatemenu.button",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.updatemenu.button.execute": {
        "params": {
            "plotly_name": "execute",
            "parent_name": "layout.updatemenu.button",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.updatemenu.button.args2": {
        "params": {
            "plotly_name": "args2",
            "parent_name": "layout.updatemenu.button",
            "edit_type": "arraydraw",
            "free_length": true,
            "items": [
                {
                    "editType": "arraydraw",
                    "valType": "any"
                },
                {
                    "editType": "arraydraw",
                    "valType": "any"
                },
                {
                    "editType": "arraydraw",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.updatemenu.button.args": {
        "params": {
            "plotly_name": "args",
            "parent_name": "layout.updatemenu.button",
            "edit_type": "arraydraw",
            "free_length": true,
            "items": [
                {
                    "editType": "arraydraw",
                    "valType": "any"
                },
                {
                    "editType": "arraydraw",
                    "valType": "any"
                },
                {
                    "editType": "arraydraw",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.updatemenu.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.updatemenu.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.updatemenu.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.updatemenu.active": {
        "params": {
            "plotly_name": "active",
            "parent_name": "layout.updatemenu",
            "edit_type": "arraydraw",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "layout.uniformtext": {
        "params": {
            "plotly_name": "uniformtext",
            "parent_name": "layout",
            "data_class_str": "Uniformtext",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.uniformtext.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "layout.uniformtext",
            "edit_type": "plot",
            "values": [
                false,
                "hide",
                "show"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.uniformtext.minsize": {
        "params": {
            "plotly_name": "minsize",
            "parent_name": "layout.uniformtext",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.treemapcolorway": {
        "params": {
            "plotly_name": "treemapcolorway",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "ColorlistValidator"
    },
    "layout.transition": {
        "params": {
            "plotly_name": "transition",
            "parent_name": "layout",
            "data_class_str": "Transition",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.transition.ordering": {
        "params": {
            "plotly_name": "ordering",
            "parent_name": "layout.transition",
            "edit_type": "none",
            "values": [
                "layout first",
                "traces first"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.transition.easing": {
        "params": {
            "plotly_name": "easing",
            "parent_name": "layout.transition",
            "edit_type": "none",
            "values": [
                "linear",
                "quad",
                "cubic",
                "sin",
                "exp",
                "circle",
                "elastic",
                "back",
                "bounce",
                "linear-in",
                "quad-in",
                "cubic-in",
                "sin-in",
                "exp-in",
                "circle-in",
                "elastic-in",
                "back-in",
                "bounce-in",
                "linear-out",
                "quad-out",
                "cubic-out",
                "sin-out",
                "exp-out",
                "circle-out",
                "elastic-out",
                "back-out",
                "bounce-out",
                "linear-in-out",
                "quad-in-out",
                "cubic-in-out",
                "sin-in-out",
                "exp-in-out",
                "circle-in-out",
                "elastic-in-out",
                "back-in-out",
                "bounce-in-out"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.transition.duration": {
        "params": {
            "plotly_name": "duration",
            "parent_name": "layout.transition",
            "edit_type": "none",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.title.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "layout.title",
            "edit_type": "layoutstyle",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.title",
            "edit_type": "layoutstyle",
            "values": [
                "auto",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.title",
            "edit_type": "layoutstyle",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.title.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "layout.title",
            "edit_type": "layoutstyle",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.title",
            "edit_type": "layoutstyle",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.title",
            "edit_type": "layoutstyle",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.title",
            "edit_type": "layoutstyle"
        },
        "superclass": "StringValidator"
    },
    "layout.title.subtitle": {
        "params": {
            "plotly_name": "subtitle",
            "parent_name": "layout.title",
            "data_class_str": "Subtitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.title.subtitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.title.subtitle",
            "edit_type": "layoutstyle"
        },
        "superclass": "StringValidator"
    },
    "layout.title.subtitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.title.subtitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.title.subtitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.title.subtitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.subtitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.subtitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.subtitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.title.subtitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle"
        },
        "superclass": "StringValidator"
    },
    "layout.title.subtitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.title.subtitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.title.subtitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.title.subtitle.font",
            "edit_type": "layoutstyle"
        },
        "superclass": "ColorValidator"
    },
    "layout.title.pad": {
        "params": {
            "plotly_name": "pad",
            "parent_name": "layout.title",
            "data_class_str": "Pad",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.title.pad.t": {
        "params": {
            "plotly_name": "t",
            "parent_name": "layout.title.pad",
            "edit_type": "layoutstyle"
        },
        "superclass": "NumberValidator"
    },
    "layout.title.pad.r": {
        "params": {
            "plotly_name": "r",
            "parent_name": "layout.title.pad",
            "edit_type": "layoutstyle"
        },
        "superclass": "NumberValidator"
    },
    "layout.title.pad.l": {
        "params": {
            "plotly_name": "l",
            "parent_name": "layout.title.pad",
            "edit_type": "layoutstyle"
        },
        "superclass": "NumberValidator"
    },
    "layout.title.pad.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "layout.title.pad",
            "edit_type": "layoutstyle"
        },
        "superclass": "NumberValidator"
    },
    "layout.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle"
        },
        "superclass": "StringValidator"
    },
    "layout.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.title.font",
            "edit_type": "layoutstyle"
        },
        "superclass": "ColorValidator"
    },
    "layout.title.automargin": {
        "params": {
            "plotly_name": "automargin",
            "parent_name": "layout.title",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary": {
        "params": {
            "plotly_name": "ternary",
            "parent_name": "layout",
            "data_class_str": "Ternary",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.ternary",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.sum": {
        "params": {
            "plotly_name": "sum",
            "parent_name": "layout.ternary",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.ternary",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.ternary.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.ternary.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.ternary.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.ternary.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "layout.ternary.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "layout.ternary.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.caxis": {
        "params": {
            "plotly_name": "caxis",
            "parent_name": "layout.ternary",
            "data_class_str": "Caxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.caxis.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.caxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.ternary.caxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.ternary.caxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.ternary.caxis.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.ternary.caxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.caxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.caxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.caxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.ternary.caxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.caxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.caxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.caxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.ternary.caxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.ternary.caxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.caxis.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.caxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.ternary.caxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.caxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.ternary.caxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.ternary.caxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.ternary.caxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.ternary.caxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.ternary.caxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.ternary.caxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.caxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.ternary.caxis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.ternary.caxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.ternary.caxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.caxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.caxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.caxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.ternary.caxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.caxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.caxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.caxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.ternary.caxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.caxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.caxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.caxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.caxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.caxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.caxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.caxis.min": {
        "params": {
            "plotly_name": "min",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.caxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.caxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.caxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.caxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.caxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.caxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.ternary.caxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.caxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.caxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.caxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.caxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.ternary",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.baxis": {
        "params": {
            "plotly_name": "baxis",
            "parent_name": "layout.ternary",
            "data_class_str": "Baxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.baxis.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.baxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.ternary.baxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.ternary.baxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.ternary.baxis.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.ternary.baxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.baxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.baxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.baxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.ternary.baxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.baxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.baxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.baxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.ternary.baxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.ternary.baxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.baxis.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.baxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.ternary.baxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.baxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.ternary.baxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.ternary.baxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.ternary.baxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.ternary.baxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.ternary.baxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.ternary.baxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.baxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.ternary.baxis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.ternary.baxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.ternary.baxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.baxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.baxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.baxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.ternary.baxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.baxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.baxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.baxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.ternary.baxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.baxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.baxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.baxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.baxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.baxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.baxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.baxis.min": {
        "params": {
            "plotly_name": "min",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.baxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.baxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.baxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.baxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.baxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.baxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.ternary.baxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.baxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.baxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.baxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.baxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.aaxis": {
        "params": {
            "plotly_name": "aaxis",
            "parent_name": "layout.ternary",
            "data_class_str": "Aaxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.aaxis.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.aaxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.ternary.aaxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.ternary.aaxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.ternary.aaxis.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.ternary.aaxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.aaxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.aaxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.aaxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.ternary.aaxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.aaxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.aaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.aaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.ternary.aaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.ternary.aaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.aaxis.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.aaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.ternary.aaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.aaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.ternary.aaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.ternary.aaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.ternary.aaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.ternary.aaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.ternary.aaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.ternary.aaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.aaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.ternary.aaxis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.ternary.aaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.ternary.aaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.ternary.aaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.aaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.aaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.ternary.aaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.aaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.aaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.aaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.ternary.aaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.aaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.aaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.aaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.aaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.ternary.aaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.ternary.aaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.aaxis.min": {
        "params": {
            "plotly_name": "min",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.aaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.aaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.aaxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.aaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.ternary.aaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.ternary.aaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.ternary.aaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.ternary.aaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.ternary.aaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.ternary.aaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.ternary.aaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.template": {
        "params": {
            "plotly_name": "template",
            "parent_name": "layout",
            "data_class_str": "Template",
            "data_docs": "\n"
        },
        "superclass": "BaseTemplateValidator"
    },
    "layout.template.layout": {
        "params": {
            "plotly_name": "layout",
            "parent_name": "layout.template",
            "data_class_str": "Layout",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.template.data": {
        "params": {
            "plotly_name": "data",
            "parent_name": "layout.template",
            "data_class_str": "Data",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.template.data.waterfall": {
        "params": {
            "plotly_name": "waterfall",
            "parent_name": "layout.template.data",
            "data_class_str": "Waterfall",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.volume": {
        "params": {
            "plotly_name": "volume",
            "parent_name": "layout.template.data",
            "data_class_str": "Volume",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.violin": {
        "params": {
            "plotly_name": "violin",
            "parent_name": "layout.template.data",
            "data_class_str": "Violin",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.treemap": {
        "params": {
            "plotly_name": "treemap",
            "parent_name": "layout.template.data",
            "data_class_str": "Treemap",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.table": {
        "params": {
            "plotly_name": "table",
            "parent_name": "layout.template.data",
            "data_class_str": "Table",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.surface": {
        "params": {
            "plotly_name": "surface",
            "parent_name": "layout.template.data",
            "data_class_str": "Surface",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.sunburst": {
        "params": {
            "plotly_name": "sunburst",
            "parent_name": "layout.template.data",
            "data_class_str": "Sunburst",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.streamtube": {
        "params": {
            "plotly_name": "streamtube",
            "parent_name": "layout.template.data",
            "data_class_str": "Streamtube",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.splom": {
        "params": {
            "plotly_name": "splom",
            "parent_name": "layout.template.data",
            "data_class_str": "Splom",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scatterternary": {
        "params": {
            "plotly_name": "scatterternary",
            "parent_name": "layout.template.data",
            "data_class_str": "Scatterternary",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scattersmith": {
        "params": {
            "plotly_name": "scattersmith",
            "parent_name": "layout.template.data",
            "data_class_str": "Scattersmith",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scatter": {
        "params": {
            "plotly_name": "scatter",
            "parent_name": "layout.template.data",
            "data_class_str": "Scatter",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scatterpolar": {
        "params": {
            "plotly_name": "scatterpolar",
            "parent_name": "layout.template.data",
            "data_class_str": "Scatterpolar",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scatterpolargl": {
        "params": {
            "plotly_name": "scatterpolargl",
            "parent_name": "layout.template.data",
            "data_class_str": "Scatterpolargl",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scattermap": {
        "params": {
            "plotly_name": "scattermap",
            "parent_name": "layout.template.data",
            "data_class_str": "Scattermap",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scattergl": {
        "params": {
            "plotly_name": "scattergl",
            "parent_name": "layout.template.data",
            "data_class_str": "Scattergl",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scattergeo": {
        "params": {
            "plotly_name": "scattergeo",
            "parent_name": "layout.template.data",
            "data_class_str": "Scattergeo",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scattercarpet": {
        "params": {
            "plotly_name": "scattercarpet",
            "parent_name": "layout.template.data",
            "data_class_str": "Scattercarpet",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.scatter3d": {
        "params": {
            "plotly_name": "scatter3d",
            "parent_name": "layout.template.data",
            "data_class_str": "Scatter3d",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.sankey": {
        "params": {
            "plotly_name": "sankey",
            "parent_name": "layout.template.data",
            "data_class_str": "Sankey",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.quiver": {
        "params": {
            "plotly_name": "quiver",
            "parent_name": "layout.template.data",
            "data_class_str": "Quiver",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.pie": {
        "params": {
            "plotly_name": "pie",
            "parent_name": "layout.template.data",
            "data_class_str": "Pie",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.parcoords": {
        "params": {
            "plotly_name": "parcoords",
            "parent_name": "layout.template.data",
            "data_class_str": "Parcoords",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.parcats": {
        "params": {
            "plotly_name": "parcats",
            "parent_name": "layout.template.data",
            "data_class_str": "Parcats",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.ohlc": {
        "params": {
            "plotly_name": "ohlc",
            "parent_name": "layout.template.data",
            "data_class_str": "Ohlc",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.mesh3d": {
        "params": {
            "plotly_name": "mesh3d",
            "parent_name": "layout.template.data",
            "data_class_str": "Mesh3d",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.isosurface": {
        "params": {
            "plotly_name": "isosurface",
            "parent_name": "layout.template.data",
            "data_class_str": "Isosurface",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.indicator": {
        "params": {
            "plotly_name": "indicator",
            "parent_name": "layout.template.data",
            "data_class_str": "Indicator",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.image": {
        "params": {
            "plotly_name": "image",
            "parent_name": "layout.template.data",
            "data_class_str": "Image",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.icicle": {
        "params": {
            "plotly_name": "icicle",
            "parent_name": "layout.template.data",
            "data_class_str": "Icicle",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.histogram": {
        "params": {
            "plotly_name": "histogram",
            "parent_name": "layout.template.data",
            "data_class_str": "Histogram",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.histogram2d": {
        "params": {
            "plotly_name": "histogram2d",
            "parent_name": "layout.template.data",
            "data_class_str": "Histogram2d",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.histogram2dcontour": {
        "params": {
            "plotly_name": "histogram2dcontour",
            "parent_name": "layout.template.data",
            "data_class_str": "Histogram2dContour",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.heatmap": {
        "params": {
            "plotly_name": "heatmap",
            "parent_name": "layout.template.data",
            "data_class_str": "Heatmap",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.funnel": {
        "params": {
            "plotly_name": "funnel",
            "parent_name": "layout.template.data",
            "data_class_str": "Funnel",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.funnelarea": {
        "params": {
            "plotly_name": "funnelarea",
            "parent_name": "layout.template.data",
            "data_class_str": "Funnelarea",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.densitymap": {
        "params": {
            "plotly_name": "densitymap",
            "parent_name": "layout.template.data",
            "data_class_str": "Densitymap",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.contour": {
        "params": {
            "plotly_name": "contour",
            "parent_name": "layout.template.data",
            "data_class_str": "Contour",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.contourcarpet": {
        "params": {
            "plotly_name": "contourcarpet",
            "parent_name": "layout.template.data",
            "data_class_str": "Contourcarpet",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.cone": {
        "params": {
            "plotly_name": "cone",
            "parent_name": "layout.template.data",
            "data_class_str": "Cone",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.choropleth": {
        "params": {
            "plotly_name": "choropleth",
            "parent_name": "layout.template.data",
            "data_class_str": "Choropleth",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.choroplethmap": {
        "params": {
            "plotly_name": "choroplethmap",
            "parent_name": "layout.template.data",
            "data_class_str": "Choroplethmap",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.carpet": {
        "params": {
            "plotly_name": "carpet",
            "parent_name": "layout.template.data",
            "data_class_str": "Carpet",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.candlestick": {
        "params": {
            "plotly_name": "candlestick",
            "parent_name": "layout.template.data",
            "data_class_str": "Candlestick",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.box": {
        "params": {
            "plotly_name": "box",
            "parent_name": "layout.template.data",
            "data_class_str": "Box",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.bar": {
        "params": {
            "plotly_name": "bar",
            "parent_name": "layout.template.data",
            "data_class_str": "Bar",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.template.data.barpolar": {
        "params": {
            "plotly_name": "barpolar",
            "parent_name": "layout.template.data",
            "data_class_str": "Barpolar",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.sunburstcolorway": {
        "params": {
            "plotly_name": "sunburstcolorway",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "ColorlistValidator"
    },
    "layout.spikedistance": {
        "params": {
            "plotly_name": "spikedistance",
            "parent_name": "layout",
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "layout.smith": {
        "params": {
            "plotly_name": "smith",
            "parent_name": "layout",
            "data_class_str": "Smith",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.smith.realaxis": {
        "params": {
            "plotly_name": "realaxis",
            "parent_name": "layout.smith",
            "data_class_str": "Realaxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.smith.realaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.smith.realaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.realaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.smith.realaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.realaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "ticks",
            "values": [
                "top",
                "bottom",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.realaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.realaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.realaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.realaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.smith.realaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.smith.realaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.smith.realaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.realaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.realaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.realaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.realaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.realaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.smith.realaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.smith.realaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.smith.realaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.realaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.realaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "ticks"
        },
        "superclass": "AngleValidator"
    },
    "layout.smith.realaxis.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "values": [
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.realaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.realaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.realaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.smith.realaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.smith.realaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.smith.realaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.realaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.realaxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.realaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.smith.realaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.realaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.realaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.smith.realaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.realaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.smith.realaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.imaginaryaxis": {
        "params": {
            "plotly_name": "imaginaryaxis",
            "parent_name": "layout.smith",
            "data_class_str": "Imaginaryaxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.smith.imaginaryaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.smith.imaginaryaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.imaginaryaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.smith.imaginaryaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.imaginaryaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "ticks",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.imaginaryaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.imaginaryaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.imaginaryaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.imaginaryaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.smith.imaginaryaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.smith.imaginaryaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.smith.imaginaryaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.imaginaryaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.imaginaryaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.imaginaryaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.imaginaryaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.smith.imaginaryaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.smith.imaginaryaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.smith.imaginaryaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.imaginaryaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.imaginaryaxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.smith.imaginaryaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.smith.imaginaryaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.smith.imaginaryaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.smith.imaginaryaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.smith.imaginaryaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.imaginaryaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.smith.imaginaryaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.smith.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.smith",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.smith.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.smith.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.smith.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.smith.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.smith.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "layout.smith.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.smith.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "layout.smith.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.smith.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.smith",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.sliderdefaults": {
        "params": {
            "plotly_name": "sliderdefaults",
            "parent_name": "layout",
            "data_class_str": "Slider",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.sliders": {
        "params": {
            "plotly_name": "sliders",
            "parent_name": "layout",
            "data_class_str": "Slider",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.slider.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "values": [
                "auto",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "max": 3,
            "min": -2
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "max": 3,
            "min": -2
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.slider.transition": {
        "params": {
            "plotly_name": "transition",
            "parent_name": "layout.slider",
            "data_class_str": "Transition",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.slider.transition.easing": {
        "params": {
            "plotly_name": "easing",
            "parent_name": "layout.slider.transition",
            "edit_type": "arraydraw",
            "values": [
                "linear",
                "quad",
                "cubic",
                "sin",
                "exp",
                "circle",
                "elastic",
                "back",
                "bounce",
                "linear-in",
                "quad-in",
                "cubic-in",
                "sin-in",
                "exp-in",
                "circle-in",
                "elastic-in",
                "back-in",
                "bounce-in",
                "linear-out",
                "quad-out",
                "cubic-out",
                "sin-out",
                "exp-out",
                "circle-out",
                "elastic-out",
                "back-out",
                "bounce-out",
                "linear-in-out",
                "quad-in-out",
                "cubic-in-out",
                "sin-in-out",
                "exp-in-out",
                "circle-in-out",
                "elastic-in-out",
                "back-in-out",
                "bounce-in-out"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.transition.duration": {
        "params": {
            "plotly_name": "duration",
            "parent_name": "layout.slider.transition",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.slider.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.stepdefaults": {
        "params": {
            "plotly_name": "stepdefaults",
            "parent_name": "layout.slider",
            "data_class_str": "Step",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.slider.steps": {
        "params": {
            "plotly_name": "steps",
            "parent_name": "layout.slider",
            "data_class_str": "Step",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.slider.step.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.slider.step",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.slider.step.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.slider.step",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.step.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.slider.step",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.step.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.slider.step",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.step.method": {
        "params": {
            "plotly_name": "method",
            "parent_name": "layout.slider.step",
            "edit_type": "arraydraw",
            "values": [
                "restyle",
                "relayout",
                "animate",
                "update",
                "skip"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.step.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "layout.slider.step",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.step.execute": {
        "params": {
            "plotly_name": "execute",
            "parent_name": "layout.slider.step",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.slider.step.args": {
        "params": {
            "plotly_name": "args",
            "parent_name": "layout.slider.step",
            "edit_type": "arraydraw",
            "free_length": true,
            "items": [
                {
                    "editType": "arraydraw",
                    "valType": "any"
                },
                {
                    "editType": "arraydraw",
                    "valType": "any"
                },
                {
                    "editType": "arraydraw",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.slider.pad": {
        "params": {
            "plotly_name": "pad",
            "parent_name": "layout.slider",
            "data_class_str": "Pad",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.slider.pad.t": {
        "params": {
            "plotly_name": "t",
            "parent_name": "layout.slider.pad",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.pad.r": {
        "params": {
            "plotly_name": "r",
            "parent_name": "layout.slider.pad",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.pad.l": {
        "params": {
            "plotly_name": "l",
            "parent_name": "layout.slider.pad",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.pad.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "layout.slider.pad",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.minorticklen": {
        "params": {
            "plotly_name": "minorticklen",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.slider",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.slider.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.slider.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.slider.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.slider.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.slider.font",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.slider.currentvalue": {
        "params": {
            "plotly_name": "currentvalue",
            "parent_name": "layout.slider",
            "data_class_str": "Currentvalue",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.slider.currentvalue.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.slider.currentvalue",
            "edit_type": "arraydraw",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.currentvalue.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.slider.currentvalue",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.slider.currentvalue.suffix": {
        "params": {
            "plotly_name": "suffix",
            "parent_name": "layout.slider.currentvalue",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.currentvalue.prefix": {
        "params": {
            "plotly_name": "prefix",
            "parent_name": "layout.slider.currentvalue",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.currentvalue.offset": {
        "params": {
            "plotly_name": "offset",
            "parent_name": "layout.slider.currentvalue",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.currentvalue.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.slider.currentvalue",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.slider.currentvalue.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.slider.currentvalue.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.currentvalue.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.currentvalue.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.slider.currentvalue.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.currentvalue.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.slider.currentvalue.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.slider.currentvalue.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.slider.currentvalue.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.slider.currentvalue.font",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.slider.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.slider.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.slider.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.slider.activebgcolor": {
        "params": {
            "plotly_name": "activebgcolor",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.slider.active": {
        "params": {
            "plotly_name": "active",
            "parent_name": "layout.slider",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "layout",
            "edit_type": "legend"
        },
        "superclass": "BooleanValidator"
    },
    "layout.shapedefaults": {
        "params": {
            "plotly_name": "shapedefaults",
            "parent_name": "layout",
            "data_class_str": "Shape",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.shapes": {
        "params": {
            "plotly_name": "shapes",
            "parent_name": "layout",
            "data_class_str": "Shape",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.shape.ysizemode": {
        "params": {
            "plotly_name": "ysizemode",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw",
            "values": [
                "scaled",
                "pixel"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "layout.shape",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "paper",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.shape.y1shift": {
        "params": {
            "plotly_name": "y1shift",
            "parent_name": "layout.shape",
            "edit_type": "calc",
            "max": 1,
            "min": -1
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.y1": {
        "params": {
            "plotly_name": "y1",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.shape.y0shift": {
        "params": {
            "plotly_name": "y0shift",
            "parent_name": "layout.shape",
            "edit_type": "calc",
            "max": 1,
            "min": -1
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.shape.xsizemode": {
        "params": {
            "plotly_name": "xsizemode",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw",
            "values": [
                "scaled",
                "pixel"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "layout.shape",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "paper",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.shape.x1shift": {
        "params": {
            "plotly_name": "x1shift",
            "parent_name": "layout.shape",
            "edit_type": "calc",
            "max": 1,
            "min": -1
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.x1": {
        "params": {
            "plotly_name": "x1",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.shape.x0shift": {
        "params": {
            "plotly_name": "x0shift",
            "parent_name": "layout.shape",
            "edit_type": "calc",
            "max": 1,
            "min": -1
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.shape.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw",
            "values": [
                "circle",
                "rect",
                "path",
                "line"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.shape",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.shape.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.shape",
            "edit_type": "arraydraw",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.shape",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "layout.shape",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.shape.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "layout.shape.line",
            "anim": true,
            "edit_type": "calc+arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "layout.shape.line",
            "edit_type": "arraydraw",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.shape.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.shape.line",
            "anim": true,
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.shape.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "layout.shape",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.shape.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.shape.legendgrouptitle",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.shape.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.shape.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.shape.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.shape.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.shape.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.shape.legendgrouptitle.font",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.shape.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "layout.shape",
            "dflt": "legend",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "SubplotidValidator"
    },
    "layout.shape.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.shape",
            "edit_type": "arraydraw",
            "values": [
                "below",
                "above",
                "between"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "layout.shape",
            "data_class_str": "Label",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.shape.label.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.shape.label",
            "edit_type": "calc+arraydraw",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.label.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.shape.label",
            "edit_type": "calc+arraydraw",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.label.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "layout.shape.label",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.shape.label.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "layout.shape.label",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.label.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "layout.shape.label",
            "edit_type": "arraydraw",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right",
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.label.textangle": {
        "params": {
            "plotly_name": "textangle",
            "parent_name": "layout.shape.label",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AngleValidator"
    },
    "layout.shape.label.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.shape.label",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.label.padding": {
        "params": {
            "plotly_name": "padding",
            "parent_name": "layout.shape.label",
            "edit_type": "arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.label.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.shape.label",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.shape.label.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.shape.label.font",
            "edit_type": "calc+arraydraw",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.shape.label.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.shape.label.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.label.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.shape.label.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.label.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.shape.label.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.label.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.shape.label.font",
            "edit_type": "calc+arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.shape.label.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.shape.label.font",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.shape.label.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.shape.label.font",
            "edit_type": "calc+arraydraw",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.shape.label.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.shape.label.font",
            "edit_type": "calc+arraydraw",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.shape.label.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.shape.label.font",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.shape.fillrule": {
        "params": {
            "plotly_name": "fillrule",
            "parent_name": "layout.shape",
            "edit_type": "arraydraw",
            "values": [
                "evenodd",
                "nonzero"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.shape.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "layout.shape",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.shape.editable": {
        "params": {
            "plotly_name": "editable",
            "parent_name": "layout.shape",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.separators": {
        "params": {
            "plotly_name": "separators",
            "parent_name": "layout",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.selectiondefaults": {
        "params": {
            "plotly_name": "selectiondefaults",
            "parent_name": "layout",
            "data_class_str": "Selection",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.selections": {
        "params": {
            "plotly_name": "selections",
            "parent_name": "layout",
            "data_class_str": "Selection",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.selection.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw",
            "values": [
                "paper",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.selection.y1": {
        "params": {
            "plotly_name": "y1",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.selection.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.selection.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw",
            "values": [
                "paper",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.selection.x1": {
        "params": {
            "plotly_name": "x1",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.selection.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.selection.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw",
            "values": [
                "rect",
                "path"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.selection.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.selection.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.selection.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.selection.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.selection",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.selection.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "layout.selection",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.selection.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "layout.selection.line",
            "anim": true,
            "edit_type": "arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.selection.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "layout.selection.line",
            "edit_type": "arraydraw",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.selection.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.selection.line",
            "anim": true,
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.selectionrevision": {
        "params": {
            "plotly_name": "selectionrevision",
            "parent_name": "layout",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.selectdirection": {
        "params": {
            "plotly_name": "selectdirection",
            "parent_name": "layout",
            "edit_type": "none",
            "values": [
                "h",
                "v",
                "d",
                "any"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene": {
        "params": {
            "plotly_name": "scene",
            "parent_name": "layout",
            "data_class_str": "Scene",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.zaxis": {
        "params": {
            "plotly_name": "zaxis",
            "parent_name": "layout.scene",
            "data_class_str": "ZAxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.zaxis.zerolinewidth": {
        "params": {
            "plotly_name": "zerolinewidth",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.zerolinecolor": {
        "params": {
            "plotly_name": "zerolinecolor",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.zeroline": {
        "params": {
            "plotly_name": "zeroline",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "-",
                "linear",
                "log",
                "date",
                "category"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.scene.zaxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.scene.zaxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.scene.zaxis.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.scene.zaxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.zaxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.zaxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.zaxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.zaxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.zaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.zaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.scene.zaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.zaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.scene.zaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.scene.zaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.scene.zaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.scene.zaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.scene.zaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.scene.zaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.scene.zaxis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.scene.zaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.scene.zaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.zaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.zaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.zaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.zaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.scene.zaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.spikethickness": {
        "params": {
            "plotly_name": "spikethickness",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.spikesides": {
        "params": {
            "plotly_name": "spikesides",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.spikecolor": {
        "params": {
            "plotly_name": "spikecolor",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.showspikes": {
        "params": {
            "plotly_name": "showspikes",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.showbackground": {
        "params": {
            "plotly_name": "showbackground",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.showaxeslabels": {
        "params": {
            "plotly_name": "showaxeslabels",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.zaxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "normal",
                "tozero",
                "nonnegative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.scene.zaxis",
            "anim": false,
            "edit_type": "plot",
            "implied_edits": {
                "autorange": false
            },
            "items": [
                {
                    "editType": "plot",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.scene.zaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.zaxis.mirror": {
        "params": {
            "plotly_name": "mirror",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                true,
                "ticks",
                false,
                "all",
                "allticks"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.zaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.zaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array",
                "total ascending",
                "total descending",
                "min ascending",
                "min descending",
                "max ascending",
                "max descending",
                "sum ascending",
                "sum descending",
                "mean ascending",
                "mean descending",
                "geometric mean ascending",
                "geometric mean descending",
                "median ascending",
                "median descending"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.zaxis.calendar": {
        "params": {
            "plotly_name": "calendar",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.backgroundcolor": {
        "params": {
            "plotly_name": "backgroundcolor",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.zaxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.zaxis.autorangeoptions": {
        "params": {
            "plotly_name": "autorangeoptions",
            "parent_name": "layout.scene.zaxis",
            "data_class_str": "Autorangeoptions",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.zaxis.autorangeoptions.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.scene.zaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.autorangeoptions.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.scene.zaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.autorangeoptions.include": {
        "params": {
            "plotly_name": "include",
            "parent_name": "layout.scene.zaxis.autorangeoptions",
            "array_ok": true,
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.autorangeoptions.clipmin": {
        "params": {
            "plotly_name": "clipmin",
            "parent_name": "layout.scene.zaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.autorangeoptions.clipmax": {
        "params": {
            "plotly_name": "clipmax",
            "parent_name": "layout.scene.zaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.zaxis.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "layout.scene.zaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                true,
                false,
                "reversed",
                "min reversed",
                "max reversed",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "layout.scene",
            "data_class_str": "YAxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.yaxis.zerolinewidth": {
        "params": {
            "plotly_name": "zerolinewidth",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.zerolinecolor": {
        "params": {
            "plotly_name": "zerolinecolor",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.zeroline": {
        "params": {
            "plotly_name": "zeroline",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "-",
                "linear",
                "log",
                "date",
                "category"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.scene.yaxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.scene.yaxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.scene.yaxis.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.scene.yaxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.yaxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.yaxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.yaxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.yaxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.yaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.yaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.scene.yaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.yaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.scene.yaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.scene.yaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.scene.yaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.scene.yaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.scene.yaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.scene.yaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.scene.yaxis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.scene.yaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.scene.yaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.yaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.yaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.yaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.yaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.scene.yaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.spikethickness": {
        "params": {
            "plotly_name": "spikethickness",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.spikesides": {
        "params": {
            "plotly_name": "spikesides",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.spikecolor": {
        "params": {
            "plotly_name": "spikecolor",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.showspikes": {
        "params": {
            "plotly_name": "showspikes",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.showbackground": {
        "params": {
            "plotly_name": "showbackground",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.showaxeslabels": {
        "params": {
            "plotly_name": "showaxeslabels",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.yaxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "normal",
                "tozero",
                "nonnegative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.scene.yaxis",
            "anim": false,
            "edit_type": "plot",
            "implied_edits": {
                "autorange": false
            },
            "items": [
                {
                    "editType": "plot",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.scene.yaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.yaxis.mirror": {
        "params": {
            "plotly_name": "mirror",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                true,
                "ticks",
                false,
                "all",
                "allticks"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.yaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.yaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array",
                "total ascending",
                "total descending",
                "min ascending",
                "min descending",
                "max ascending",
                "max descending",
                "sum ascending",
                "sum descending",
                "mean ascending",
                "mean descending",
                "geometric mean ascending",
                "geometric mean descending",
                "median ascending",
                "median descending"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.yaxis.calendar": {
        "params": {
            "plotly_name": "calendar",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.backgroundcolor": {
        "params": {
            "plotly_name": "backgroundcolor",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.yaxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.yaxis.autorangeoptions": {
        "params": {
            "plotly_name": "autorangeoptions",
            "parent_name": "layout.scene.yaxis",
            "data_class_str": "Autorangeoptions",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.yaxis.autorangeoptions.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.scene.yaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.autorangeoptions.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.scene.yaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.autorangeoptions.include": {
        "params": {
            "plotly_name": "include",
            "parent_name": "layout.scene.yaxis.autorangeoptions",
            "array_ok": true,
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.autorangeoptions.clipmin": {
        "params": {
            "plotly_name": "clipmin",
            "parent_name": "layout.scene.yaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.autorangeoptions.clipmax": {
        "params": {
            "plotly_name": "clipmax",
            "parent_name": "layout.scene.yaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.yaxis.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "layout.scene.yaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                true,
                false,
                "reversed",
                "min reversed",
                "max reversed",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "layout.scene",
            "data_class_str": "XAxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.xaxis.zerolinewidth": {
        "params": {
            "plotly_name": "zerolinewidth",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.zerolinecolor": {
        "params": {
            "plotly_name": "zerolinecolor",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.zeroline": {
        "params": {
            "plotly_name": "zeroline",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "-",
                "linear",
                "log",
                "date",
                "category"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.scene.xaxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.scene.xaxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.scene.xaxis.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.scene.xaxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.xaxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.xaxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.xaxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.xaxis.title.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.xaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.xaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.scene.xaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.xaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.scene.xaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.scene.xaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.scene.xaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.scene.xaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.scene.xaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.scene.xaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.scene.xaxis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.scene.xaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.scene.xaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.xaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.xaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.xaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.xaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.scene.xaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.spikethickness": {
        "params": {
            "plotly_name": "spikethickness",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.spikesides": {
        "params": {
            "plotly_name": "spikesides",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.spikecolor": {
        "params": {
            "plotly_name": "spikecolor",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.showspikes": {
        "params": {
            "plotly_name": "showspikes",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.showbackground": {
        "params": {
            "plotly_name": "showbackground",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.showaxeslabels": {
        "params": {
            "plotly_name": "showaxeslabels",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.xaxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "normal",
                "tozero",
                "nonnegative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.scene.xaxis",
            "anim": false,
            "edit_type": "plot",
            "implied_edits": {
                "autorange": false
            },
            "items": [
                {
                    "editType": "plot",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.scene.xaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.xaxis.mirror": {
        "params": {
            "plotly_name": "mirror",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                true,
                "ticks",
                false,
                "all",
                "allticks"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.xaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.xaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array",
                "total ascending",
                "total descending",
                "min ascending",
                "min descending",
                "max ascending",
                "max descending",
                "sum ascending",
                "sum descending",
                "mean ascending",
                "mean descending",
                "geometric mean ascending",
                "geometric mean descending",
                "median ascending",
                "median descending"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.scene.xaxis.calendar": {
        "params": {
            "plotly_name": "calendar",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.backgroundcolor": {
        "params": {
            "plotly_name": "backgroundcolor",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.xaxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.xaxis.autorangeoptions": {
        "params": {
            "plotly_name": "autorangeoptions",
            "parent_name": "layout.scene.xaxis",
            "data_class_str": "Autorangeoptions",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.xaxis.autorangeoptions.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.scene.xaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.autorangeoptions.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.scene.xaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.autorangeoptions.include": {
        "params": {
            "plotly_name": "include",
            "parent_name": "layout.scene.xaxis.autorangeoptions",
            "array_ok": true,
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.autorangeoptions.clipmin": {
        "params": {
            "plotly_name": "clipmin",
            "parent_name": "layout.scene.xaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.autorangeoptions.clipmax": {
        "params": {
            "plotly_name": "clipmax",
            "parent_name": "layout.scene.xaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.xaxis.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "layout.scene.xaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                true,
                false,
                "reversed",
                "min reversed",
                "max reversed",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.scene",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.hovermode": {
        "params": {
            "plotly_name": "hovermode",
            "parent_name": "layout.scene",
            "edit_type": "modebar",
            "values": [
                "closest",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.dragmode": {
        "params": {
            "plotly_name": "dragmode",
            "parent_name": "layout.scene",
            "edit_type": "plot",
            "values": [
                "orbit",
                "turntable",
                "zoom",
                "pan",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.scene",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.scene.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.scene.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.scene.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.scene.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "layout.scene.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "layout.scene.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.camera": {
        "params": {
            "plotly_name": "camera",
            "parent_name": "layout.scene",
            "data_class_str": "Camera",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.camera.up": {
        "params": {
            "plotly_name": "up",
            "parent_name": "layout.scene.camera",
            "data_class_str": "Up",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.camera.up.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "layout.scene.camera.up",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.camera.up.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.scene.camera.up",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.camera.up.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.scene.camera.up",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.camera.projection": {
        "params": {
            "plotly_name": "projection",
            "parent_name": "layout.scene.camera",
            "data_class_str": "Projection",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.camera.projection.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.scene.camera.projection",
            "edit_type": "calc",
            "values": [
                "perspective",
                "orthographic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.camera.eye": {
        "params": {
            "plotly_name": "eye",
            "parent_name": "layout.scene.camera",
            "data_class_str": "Eye",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.camera.eye.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "layout.scene.camera.eye",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.camera.eye.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.scene.camera.eye",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.camera.eye.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.scene.camera.eye",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.camera.center": {
        "params": {
            "plotly_name": "center",
            "parent_name": "layout.scene.camera",
            "data_class_str": "Center",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.camera.center.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "layout.scene.camera.center",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.camera.center.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.scene.camera.center",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.camera.center.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.scene.camera.center",
            "edit_type": "camera"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.scene",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.aspectratio": {
        "params": {
            "plotly_name": "aspectratio",
            "parent_name": "layout.scene",
            "data_class_str": "Aspectratio",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.aspectratio.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "layout.scene.aspectratio",
            "edit_type": "plot",
            "implied_edits": {
                "^aspectmode": "manual"
            },
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.aspectratio.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.scene.aspectratio",
            "edit_type": "plot",
            "implied_edits": {
                "^aspectmode": "manual"
            },
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.aspectratio.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.scene.aspectratio",
            "edit_type": "plot",
            "implied_edits": {
                "^aspectmode": "manual"
            },
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.aspectmode": {
        "params": {
            "plotly_name": "aspectmode",
            "parent_name": "layout.scene",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "cube",
                "data",
                "manual"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotationdefaults": {
        "params": {
            "plotly_name": "annotationdefaults",
            "parent_name": "layout.scene",
            "data_class_str": "Annotation",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.annotations": {
        "params": {
            "plotly_name": "annotations",
            "parent_name": "layout.scene",
            "data_class_str": "Annotation",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.scene.annotation.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.annotation.yshift": {
        "params": {
            "plotly_name": "yshift",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "values": [
                "auto",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.annotation.xshift": {
        "params": {
            "plotly_name": "xshift",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "layout.scene.annotation.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.annotation.valign": {
        "params": {
            "plotly_name": "valign",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.textangle": {
        "params": {
            "plotly_name": "textangle",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "layout.scene.annotation.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.annotation.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.annotation.startstandoff": {
        "params": {
            "plotly_name": "startstandoff",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.startarrowsize": {
        "params": {
            "plotly_name": "startarrowsize",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 0.3
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.startarrowhead": {
        "params": {
            "plotly_name": "startarrowhead",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "max": 8,
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.annotation.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.annotation.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.annotation.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.annotation.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "layout.scene.annotation",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.annotation.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.scene.annotation.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.annotation.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.annotation.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.annotation.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.annotation.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.scene.annotation.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.annotation.hoverlabel.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.annotation.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.scene.annotation.hoverlabel",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.annotation.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.scene.annotation.hoverlabel",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.annotation.height": {
        "params": {
            "plotly_name": "height",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.scene.annotation",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.scene.annotation.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.annotation.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scene.annotation.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.scene.annotation.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.annotation.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.scene.annotation.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.scene.annotation.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.annotation.captureevents": {
        "params": {
            "plotly_name": "captureevents",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.scene.annotation.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.borderpad": {
        "params": {
            "plotly_name": "borderpad",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.annotation.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.annotation.ay": {
        "params": {
            "plotly_name": "ay",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.ax": {
        "params": {
            "plotly_name": "ax",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.arrowwidth": {
        "params": {
            "plotly_name": "arrowwidth",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 0.1
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.arrowsize": {
        "params": {
            "plotly_name": "arrowsize",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "min": 0.3
        },
        "superclass": "NumberValidator"
    },
    "layout.scene.annotation.arrowside": {
        "params": {
            "plotly_name": "arrowside",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "end",
                "start"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.scene.annotation.arrowhead": {
        "params": {
            "plotly_name": "arrowhead",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "max": 8,
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.scene.annotation.arrowcolor": {
        "params": {
            "plotly_name": "arrowcolor",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "layout.scene.annotation.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "layout.scene.annotation",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scattermode": {
        "params": {
            "plotly_name": "scattermode",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "group",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.scattergap": {
        "params": {
            "plotly_name": "scattergap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar": {
        "params": {
            "plotly_name": "polar",
            "parent_name": "layout",
            "data_class_str": "Polar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.polar",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.sector": {
        "params": {
            "plotly_name": "sector",
            "parent_name": "layout.polar",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.polar.radialaxis": {
        "params": {
            "plotly_name": "radialaxis",
            "parent_name": "layout.polar",
            "data_class_str": "RadialAxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.radialaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.radialaxis.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "calc",
            "values": [
                "-",
                "linear",
                "log",
                "date",
                "category"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.polar.radialaxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.polar.radialaxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.polar.radialaxis.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.polar.radialaxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.radialaxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.radialaxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.radialaxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.polar.radialaxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.polar.radialaxis.title.font",
            "edit_type": "ticks"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.radialaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.radialaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.polar.radialaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.polar.radialaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.radialaxis.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.radialaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.polar.radialaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.radialaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.polar.radialaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.polar.radialaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.polar.radialaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.polar.radialaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.polar.radialaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.polar.radialaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.radialaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.polar.radialaxis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.polar.radialaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.polar.radialaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.radialaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.radialaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.radialaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.polar.radialaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.polar.radialaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.radialaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.radialaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.polar.radialaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "clockwise",
                "counterclockwise"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.radialaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.radialaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.radialaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.radialaxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "calc",
            "values": [
                "tozero",
                "nonnegative",
                "normal"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.polar.radialaxis",
            "anim": true,
            "edit_type": "plot",
            "implied_edits": {
                "autorange": false
            },
            "items": [
                {
                    "editType": "plot",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "impliedEdits": {
                        "^autorange": false
                    },
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.polar.radialaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.radialaxis.minorloglabels": {
        "params": {
            "plotly_name": "minorloglabels",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "small digits",
                "complete",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.radialaxis.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "implied_edits": {
                "^autorange": false
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.radialaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.radialaxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.radialaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.radialaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.polar.radialaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.radialaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.radialaxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "calc",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array",
                "total ascending",
                "total descending",
                "min ascending",
                "min descending",
                "max ascending",
                "max descending",
                "sum ascending",
                "sum descending",
                "mean ascending",
                "mean descending",
                "geometric mean ascending",
                "geometric mean descending",
                "median ascending",
                "median descending"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.polar.radialaxis.calendar": {
        "params": {
            "plotly_name": "calendar",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "calc",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.autotickangles": {
        "params": {
            "plotly_name": "autotickangles",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "ticks",
            "free_length": true,
            "items": {
                "valType": "angle"
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.polar.radialaxis.autorangeoptions": {
        "params": {
            "plotly_name": "autorangeoptions",
            "parent_name": "layout.polar.radialaxis",
            "data_class_str": "Autorangeoptions",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.radialaxis.autorangeoptions.minallowed": {
        "params": {
            "plotly_name": "minallowed",
            "parent_name": "layout.polar.radialaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.autorangeoptions.maxallowed": {
        "params": {
            "plotly_name": "maxallowed",
            "parent_name": "layout.polar.radialaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.autorangeoptions.include": {
        "params": {
            "plotly_name": "include",
            "parent_name": "layout.polar.radialaxis.autorangeoptions",
            "array_ok": true,
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.autorangeoptions.clipmin": {
        "params": {
            "plotly_name": "clipmin",
            "parent_name": "layout.polar.radialaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.autorangeoptions.clipmax": {
        "params": {
            "plotly_name": "clipmax",
            "parent_name": "layout.polar.radialaxis.autorangeoptions",
            "edit_type": "plot",
            "implied_edits": {}
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.radialaxis.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                true,
                false,
                "reversed",
                "min reversed",
                "max reversed",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.radialaxis.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "layout.polar.radialaxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.polar.hole": {
        "params": {
            "plotly_name": "hole",
            "parent_name": "layout.polar",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.gridshape": {
        "params": {
            "plotly_name": "gridshape",
            "parent_name": "layout.polar",
            "edit_type": "plot",
            "values": [
                "circular",
                "linear"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.polar",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.polar.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.polar.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.polar.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.polar.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "layout.polar.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "layout.polar.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.polar",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.barmode": {
        "params": {
            "plotly_name": "barmode",
            "parent_name": "layout.polar",
            "edit_type": "calc",
            "values": [
                "stack",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.bargap": {
        "params": {
            "plotly_name": "bargap",
            "parent_name": "layout.polar",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.angularaxis": {
        "params": {
            "plotly_name": "angularaxis",
            "parent_name": "layout.polar",
            "data_class_str": "AngularAxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.angularaxis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.angularaxis.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.angularaxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "calc",
            "values": [
                "-",
                "linear",
                "category"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.angularaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.polar.angularaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.polar.angularaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.angularaxis.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.angularaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.polar.angularaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.angularaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.polar.angularaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.polar.angularaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.polar.angularaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.polar.angularaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.polar.angularaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.polar.angularaxis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.angularaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.polar.angularaxis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.polar.angularaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.polar.angularaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.polar.angularaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.angularaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.angularaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.polar.angularaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.polar.angularaxis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.angularaxis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.angularaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "layout.polar.angularaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.angularaxis.thetaunit": {
        "params": {
            "plotly_name": "thetaunit",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "calc",
            "values": [
                "radians",
                "degrees"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.angularaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.angularaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.angularaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.polar.angularaxis.rotation": {
        "params": {
            "plotly_name": "rotation",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "layout.polar.angularaxis.period": {
        "params": {
            "plotly_name": "period",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.angularaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.polar.angularaxis.minorloglabels": {
        "params": {
            "plotly_name": "minorloglabels",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "values": [
                "small digits",
                "complete",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.angularaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.angularaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.angularaxis.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "values": [
                "above traces",
                "below traces"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.angularaxis.hoverformat": {
        "params": {
            "plotly_name": "hoverformat",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.polar.angularaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.polar.angularaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.polar.angularaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.angularaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.polar.angularaxis.direction": {
        "params": {
            "plotly_name": "direction",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "calc",
            "values": [
                "counterclockwise",
                "clockwise"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.polar.angularaxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "calc",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array",
                "total ascending",
                "total descending",
                "min ascending",
                "min descending",
                "max ascending",
                "max descending",
                "sum ascending",
                "sum descending",
                "mean ascending",
                "mean descending",
                "geometric mean ascending",
                "geometric mean descending",
                "median ascending",
                "median descending"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.polar.angularaxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.polar.angularaxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "layout.polar.angularaxis",
            "edit_type": "calc",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.plot_bgcolor": {
        "params": {
            "plotly_name": "plot_bgcolor",
            "parent_name": "layout",
            "edit_type": "layoutstyle"
        },
        "superclass": "ColorValidator"
    },
    "layout.piecolorway": {
        "params": {
            "plotly_name": "piecolorway",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "ColorlistValidator"
    },
    "layout.paper_bgcolor": {
        "params": {
            "plotly_name": "paper_bgcolor",
            "parent_name": "layout",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.newshape": {
        "params": {
            "plotly_name": "newshape",
            "parent_name": "layout",
            "data_class_str": "Newshape",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.newshape.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.newshape",
            "edit_type": "none",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "layout.newshape",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "layout.newshape.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.newshape",
            "edit_type": "none",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.newshape.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.newshape",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "layout.newshape",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.newshape.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "layout.newshape.line",
            "edit_type": "none",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.newshape.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "layout.newshape.line",
            "edit_type": "none",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.newshape.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.newshape.line",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.newshape.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "layout.newshape",
            "edit_type": "none",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.newshape.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "layout.newshape",
            "edit_type": "none"
        },
        "superclass": "NumberValidator"
    },
    "layout.newshape.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "layout.newshape",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.newshape.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.newshape.legendgrouptitle",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.newshape.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.newshape.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.newshape.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.newshape.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.newshape.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.newshape.legendgrouptitle.font",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.newshape.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "layout.newshape",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "layout.newshape",
            "dflt": "legend",
            "edit_type": "none"
        },
        "superclass": "SubplotidValidator"
    },
    "layout.newshape.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.newshape",
            "edit_type": "none",
            "values": [
                "below",
                "above",
                "between"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "layout.newshape",
            "data_class_str": "Label",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.newshape.label.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.newshape.label",
            "edit_type": "none",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.label.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.newshape.label",
            "edit_type": "none",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.label.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "layout.newshape.label",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.newshape.label.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "layout.newshape.label",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.label.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "layout.newshape.label",
            "edit_type": "none",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right",
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.label.textangle": {
        "params": {
            "plotly_name": "textangle",
            "parent_name": "layout.newshape.label",
            "edit_type": "none"
        },
        "superclass": "AngleValidator"
    },
    "layout.newshape.label.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.newshape.label",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.label.padding": {
        "params": {
            "plotly_name": "padding",
            "parent_name": "layout.newshape.label",
            "edit_type": "none",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.newshape.label.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.newshape.label",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.newshape.label.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.newshape.label.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.label.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.label.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.label.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.newshape.label.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.label.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.newshape.label.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.newshape.label.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.newshape.label.font",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.newshape.fillrule": {
        "params": {
            "plotly_name": "fillrule",
            "parent_name": "layout.newshape",
            "edit_type": "none",
            "values": [
                "evenodd",
                "nonzero"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newshape.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "layout.newshape",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.newshape.drawdirection": {
        "params": {
            "plotly_name": "drawdirection",
            "parent_name": "layout.newshape",
            "edit_type": "none",
            "values": [
                "ortho",
                "horizontal",
                "vertical",
                "diagonal"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newselection": {
        "params": {
            "plotly_name": "newselection",
            "parent_name": "layout",
            "data_class_str": "Newselection",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.newselection.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "layout.newselection",
            "edit_type": "none",
            "values": [
                "immediate",
                "gradual"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.newselection.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "layout.newselection",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.newselection.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "layout.newselection.line",
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.newselection.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "layout.newselection.line",
            "edit_type": "none",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.newselection.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.newselection.line",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.modebar": {
        "params": {
            "plotly_name": "modebar",
            "parent_name": "layout",
            "data_class_str": "Modebar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.modebar.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.modebar",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.modebar.remove": {
        "params": {
            "plotly_name": "remove",
            "parent_name": "layout.modebar",
            "array_ok": true,
            "edit_type": "modebar"
        },
        "superclass": "StringValidator"
    },
    "layout.modebar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "layout.modebar",
            "edit_type": "modebar",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.modebar.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.modebar",
            "edit_type": "modebar"
        },
        "superclass": "ColorValidator"
    },
    "layout.modebar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.modebar",
            "edit_type": "modebar"
        },
        "superclass": "ColorValidator"
    },
    "layout.modebar.add": {
        "params": {
            "plotly_name": "add",
            "parent_name": "layout.modebar",
            "array_ok": true,
            "edit_type": "modebar"
        },
        "superclass": "StringValidator"
    },
    "layout.modebar.activecolor": {
        "params": {
            "plotly_name": "activecolor",
            "parent_name": "layout.modebar",
            "edit_type": "modebar"
        },
        "superclass": "ColorValidator"
    },
    "layout.minreducedwidth": {
        "params": {
            "plotly_name": "minreducedwidth",
            "parent_name": "layout",
            "edit_type": "plot",
            "min": 2
        },
        "superclass": "NumberValidator"
    },
    "layout.minreducedheight": {
        "params": {
            "plotly_name": "minreducedheight",
            "parent_name": "layout",
            "edit_type": "plot",
            "min": 2
        },
        "superclass": "NumberValidator"
    },
    "layout.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "layout",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.margin": {
        "params": {
            "plotly_name": "margin",
            "parent_name": "layout",
            "data_class_str": "Margin",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.margin.t": {
        "params": {
            "plotly_name": "t",
            "parent_name": "layout.margin",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.margin.r": {
        "params": {
            "plotly_name": "r",
            "parent_name": "layout.margin",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.margin.pad": {
        "params": {
            "plotly_name": "pad",
            "parent_name": "layout.margin",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.margin.l": {
        "params": {
            "plotly_name": "l",
            "parent_name": "layout.margin",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.margin.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "layout.margin",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.margin.autoexpand": {
        "params": {
            "plotly_name": "autoexpand",
            "parent_name": "layout.margin",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.map": {
        "params": {
            "plotly_name": "map",
            "parent_name": "layout",
            "data_class_str": "Map",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.zoom": {
        "params": {
            "plotly_name": "zoom",
            "parent_name": "layout.map",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.map",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.map.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.map",
            "edit_type": "plot",
            "values": [
                "basic",
                "carto-darkmatter",
                "carto-darkmatter-nolabels",
                "carto-positron",
                "carto-positron-nolabels",
                "carto-voyager",
                "carto-voyager-nolabels",
                "dark",
                "light",
                "open-street-map",
                "outdoors",
                "satellite",
                "satellite-streets",
                "streets",
                "white-bg"
            ]
        },
        "superclass": "AnyValidator"
    },
    "layout.map.pitch": {
        "params": {
            "plotly_name": "pitch",
            "parent_name": "layout.map",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.layerdefaults": {
        "params": {
            "plotly_name": "layerdefaults",
            "parent_name": "layout.map",
            "data_class_str": "Layer",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.layers": {
        "params": {
            "plotly_name": "layers",
            "parent_name": "layout.map",
            "data_class_str": "Layer",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.map.layer.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.map.layer.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.map.layer",
            "edit_type": "plot",
            "values": [
                "circle",
                "line",
                "fill",
                "symbol",
                "raster"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.map.layer.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.map.layer.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "layout.map.layer",
            "data_class_str": "Symbol",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.layer.symbol.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "layout.map.layer.symbol",
            "array_ok": false,
            "edit_type": "plot",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.map.layer.symbol.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "layout.map.layer.symbol",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.layer.symbol.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.map.layer.symbol.textfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.map.layer.symbol.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.map.layer.symbol.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.map.layer.symbol.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.map.layer.symbol.textfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.map.layer.symbol.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.map.layer.symbol.textfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.map.layer.symbol.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.map.layer.symbol.textfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.map.layer.symbol.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.map.layer.symbol",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.map.layer.symbol.placement": {
        "params": {
            "plotly_name": "placement",
            "parent_name": "layout.map.layer.symbol",
            "edit_type": "plot",
            "values": [
                "point",
                "line",
                "line-center"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.map.layer.symbol.iconsize": {
        "params": {
            "plotly_name": "iconsize",
            "parent_name": "layout.map.layer.symbol",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.layer.symbol.icon": {
        "params": {
            "plotly_name": "icon",
            "parent_name": "layout.map.layer.symbol",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.map.layer.sourcetype": {
        "params": {
            "plotly_name": "sourcetype",
            "parent_name": "layout.map.layer",
            "edit_type": "plot",
            "values": [
                "geojson",
                "vector",
                "raster",
                "image"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.map.layer.sourcelayer": {
        "params": {
            "plotly_name": "sourcelayer",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.map.layer.sourceattribution": {
        "params": {
            "plotly_name": "sourceattribution",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.map.layer.source": {
        "params": {
            "plotly_name": "source",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.map.layer.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.map.layer",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.map.layer.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.map.layer.minzoom": {
        "params": {
            "plotly_name": "minzoom",
            "parent_name": "layout.map.layer",
            "edit_type": "plot",
            "max": 24,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.map.layer.maxzoom": {
        "params": {
            "plotly_name": "maxzoom",
            "parent_name": "layout.map.layer",
            "edit_type": "plot",
            "max": 24,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.map.layer.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "layout.map.layer",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.layer.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "layout.map.layer.line",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.layer.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "layout.map.layer.line",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.map.layer.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "layout.map.layer",
            "data_class_str": "Fill",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.layer.fill.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "layout.map.layer.fill",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.map.layer.coordinates": {
        "params": {
            "plotly_name": "coordinates",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "layout.map.layer.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.map.layer.circle": {
        "params": {
            "plotly_name": "circle",
            "parent_name": "layout.map.layer",
            "data_class_str": "Circle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.layer.circle.radius": {
        "params": {
            "plotly_name": "radius",
            "parent_name": "layout.map.layer.circle",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.layer.below": {
        "params": {
            "plotly_name": "below",
            "parent_name": "layout.map.layer",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "layout.map.fitbounds": {
        "params": {
            "plotly_name": "fitbounds",
            "parent_name": "layout.map",
            "edit_type": "plot",
            "values": [
                false,
                "locations"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.map.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.map",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.map.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.map.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.map.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.map.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "layout.map.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.map.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "layout.map.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.map.center": {
        "params": {
            "plotly_name": "center",
            "parent_name": "layout.map",
            "data_class_str": "Center",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.center.lon": {
        "params": {
            "plotly_name": "lon",
            "parent_name": "layout.map.center",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.center.lat": {
        "params": {
            "plotly_name": "lat",
            "parent_name": "layout.map.center",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.bounds": {
        "params": {
            "plotly_name": "bounds",
            "parent_name": "layout.map",
            "data_class_str": "Bounds",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.map.bounds.west": {
        "params": {
            "plotly_name": "west",
            "parent_name": "layout.map.bounds",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.bounds.south": {
        "params": {
            "plotly_name": "south",
            "parent_name": "layout.map.bounds",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.bounds.north": {
        "params": {
            "plotly_name": "north",
            "parent_name": "layout.map.bounds",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.bounds.east": {
        "params": {
            "plotly_name": "east",
            "parent_name": "layout.map.bounds",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.map.bearing": {
        "params": {
            "plotly_name": "bearing",
            "parent_name": "layout.map",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "layout",
            "data_class_str": "Legend",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.legend.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "layout.legend",
            "edit_type": "layoutstyle",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "auto",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.legend",
            "edit_type": "legend"
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "layout.legend",
            "edit_type": "layoutstyle",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.legend",
            "edit_type": "legend"
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.legend",
            "edit_type": "legend"
        },
        "superclass": "BooleanValidator"
    },
    "layout.legend.valign": {
        "params": {
            "plotly_name": "valign",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.legend",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.legend.traceorder": {
        "params": {
            "plotly_name": "traceorder",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "extras": [
                "normal"
            ],
            "flags": [
                "reversed",
                "grouped"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.legend.tracegroupgap": {
        "params": {
            "plotly_name": "tracegroupgap",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.titledoubleclick": {
        "params": {
            "plotly_name": "titledoubleclick",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "toggle",
                "toggleothers",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.titleclick": {
        "params": {
            "plotly_name": "titleclick",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "toggle",
                "toggleothers",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.legend",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.legend.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.legend.title",
            "edit_type": "legend"
        },
        "superclass": "StringValidator"
    },
    "layout.legend.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "layout.legend.title",
            "edit_type": "legend",
            "values": [
                "top",
                "left",
                "top left",
                "top center",
                "top right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.legend.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.legend.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.legend.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend"
        },
        "superclass": "StringValidator"
    },
    "layout.legend.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.legend.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.legend.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.legend.title.font",
            "edit_type": "legend"
        },
        "superclass": "ColorValidator"
    },
    "layout.legend.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.maxheight": {
        "params": {
            "plotly_name": "maxheight",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.itemwidth": {
        "params": {
            "plotly_name": "itemwidth",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "min": 30
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.itemsizing": {
        "params": {
            "plotly_name": "itemsizing",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "trace",
                "constant"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.itemdoubleclick": {
        "params": {
            "plotly_name": "itemdoubleclick",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "toggle",
                "toggleothers",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.itemclick": {
        "params": {
            "plotly_name": "itemclick",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "toggle",
                "toggleothers",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.indentation": {
        "params": {
            "plotly_name": "indentation",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "min": -15
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.grouptitlefont": {
        "params": {
            "plotly_name": "grouptitlefont",
            "parent_name": "layout.legend",
            "data_class_str": "Grouptitlefont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.legend.grouptitlefont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.legend.grouptitlefont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.grouptitlefont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.grouptitlefont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.grouptitlefont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.grouptitlefont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend"
        },
        "superclass": "StringValidator"
    },
    "layout.legend.grouptitlefont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.legend.grouptitlefont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.legend.grouptitlefont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.legend.grouptitlefont",
            "edit_type": "legend"
        },
        "superclass": "ColorValidator"
    },
    "layout.legend.groupclick": {
        "params": {
            "plotly_name": "groupclick",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "toggleitem",
                "togglegroup"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.legend",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.legend.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.legend.font",
            "edit_type": "legend",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.legend.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.legend.font",
            "edit_type": "legend",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.legend.font",
            "edit_type": "legend",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.legend.font",
            "edit_type": "legend",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.legend.font",
            "edit_type": "legend",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.legend.font",
            "edit_type": "legend"
        },
        "superclass": "StringValidator"
    },
    "layout.legend.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.legend.font",
            "edit_type": "legend",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.legend.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.legend.font",
            "edit_type": "legend",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.legend.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.legend.font",
            "edit_type": "legend"
        },
        "superclass": "ColorValidator"
    },
    "layout.legend.entrywidthmode": {
        "params": {
            "plotly_name": "entrywidthmode",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.legend.entrywidth": {
        "params": {
            "plotly_name": "entrywidth",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "layout.legend",
            "edit_type": "legend",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.legend.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.legend",
            "edit_type": "legend"
        },
        "superclass": "ColorValidator"
    },
    "layout.legend.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.legend",
            "edit_type": "legend"
        },
        "superclass": "ColorValidator"
    },
    "layout.imagedefaults": {
        "params": {
            "plotly_name": "imagedefaults",
            "parent_name": "layout",
            "data_class_str": "Image",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.images": {
        "params": {
            "plotly_name": "images",
            "parent_name": "layout",
            "data_class_str": "Image",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.image.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "layout.image",
            "edit_type": "arraydraw",
            "values": [
                "paper",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.image.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.image",
            "edit_type": "arraydraw",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.image.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.image",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.image.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "layout.image",
            "edit_type": "arraydraw",
            "values": [
                "paper",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.image.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.image",
            "edit_type": "arraydraw",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.image.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.image",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.image.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.image",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.image.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.image",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.image.source": {
        "params": {
            "plotly_name": "source",
            "parent_name": "layout.image",
            "edit_type": "arraydraw"
        },
        "superclass": "ImageUriValidator"
    },
    "layout.image.sizing": {
        "params": {
            "plotly_name": "sizing",
            "parent_name": "layout.image",
            "edit_type": "arraydraw",
            "values": [
                "fill",
                "contain",
                "stretch"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.image.sizey": {
        "params": {
            "plotly_name": "sizey",
            "parent_name": "layout.image",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.image.sizex": {
        "params": {
            "plotly_name": "sizex",
            "parent_name": "layout.image",
            "edit_type": "arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.image.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.image",
            "edit_type": "arraydraw",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.image.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.image",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.image.layer": {
        "params": {
            "plotly_name": "layer",
            "parent_name": "layout.image",
            "edit_type": "arraydraw",
            "values": [
                "below",
                "above"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.iciclecolorway": {
        "params": {
            "plotly_name": "iciclecolorway",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "ColorlistValidator"
    },
    "layout.hoversubplots": {
        "params": {
            "plotly_name": "hoversubplots",
            "parent_name": "layout",
            "edit_type": "none",
            "values": [
                "single",
                "overlaying",
                "axis"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoversort": {
        "params": {
            "plotly_name": "hoversort",
            "parent_name": "layout",
            "edit_type": "none",
            "values": [
                "trace",
                "value descending",
                "value ascending"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hovermode": {
        "params": {
            "plotly_name": "hovermode",
            "parent_name": "layout",
            "edit_type": "modebar",
            "values": [
                "x",
                "y",
                "closest",
                false,
                "x unified",
                "y unified"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "layout",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "layout.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "layout.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "layout.hoverlabel",
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "layout.hoverlabel.grouptitlefont": {
        "params": {
            "plotly_name": "grouptitlefont",
            "parent_name": "layout.hoverlabel",
            "data_class_str": "Grouptitlefont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.hoverlabel.grouptitlefont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.hoverlabel.grouptitlefont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoverlabel.grouptitlefont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoverlabel.grouptitlefont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoverlabel.grouptitlefont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.hoverlabel.grouptitlefont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.hoverlabel.grouptitlefont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.hoverlabel.grouptitlefont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.hoverlabel.grouptitlefont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.hoverlabel.grouptitlefont",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.hoverlabel.font",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "layout.hoverlabel",
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.hoverdistance": {
        "params": {
            "plotly_name": "hoverdistance",
            "parent_name": "layout",
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "layout.hoveranywhere": {
        "params": {
            "plotly_name": "hoveranywhere",
            "parent_name": "layout",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "layout.hiddenlabels": {
        "params": {
            "plotly_name": "hiddenlabels",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.height": {
        "params": {
            "plotly_name": "height",
            "parent_name": "layout",
            "edit_type": "plot",
            "min": 10
        },
        "superclass": "NumberValidator"
    },
    "layout.grid": {
        "params": {
            "plotly_name": "grid",
            "parent_name": "layout",
            "data_class_str": "Grid",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.grid.yside": {
        "params": {
            "plotly_name": "yside",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "values": [
                "left",
                "left plot",
                "right plot",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.grid.ygap": {
        "params": {
            "plotly_name": "ygap",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.grid.yaxes": {
        "params": {
            "plotly_name": "yaxes",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "free_length": true,
            "items": {
                "editType": "plot",
                "valType": "enumerated",
                "values": [
                    "/^y([2-9]|[1-9][0-9]+)?( domain)?$/",
                    ""
                ]
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.grid.xside": {
        "params": {
            "plotly_name": "xside",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "values": [
                "bottom",
                "bottom plot",
                "top plot",
                "top"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.grid.xgap": {
        "params": {
            "plotly_name": "xgap",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.grid.xaxes": {
        "params": {
            "plotly_name": "xaxes",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "free_length": true,
            "items": {
                "editType": "plot",
                "valType": "enumerated",
                "values": [
                    "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                    ""
                ]
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.grid.subplots": {
        "params": {
            "plotly_name": "subplots",
            "parent_name": "layout.grid",
            "dimensions": 2,
            "edit_type": "plot",
            "free_length": true,
            "items": {
                "editType": "plot",
                "valType": "enumerated",
                "values": [
                    "/^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?$/",
                    ""
                ]
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.grid.rows": {
        "params": {
            "plotly_name": "rows",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.grid.roworder": {
        "params": {
            "plotly_name": "roworder",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "values": [
                "top to bottom",
                "bottom to top"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.grid.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "values": [
                "independent",
                "coupled"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.grid.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.grid",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.grid.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.grid.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.grid.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.grid.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.grid.columns": {
        "params": {
            "plotly_name": "columns",
            "parent_name": "layout.grid",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.geo": {
        "params": {
            "plotly_name": "geo",
            "parent_name": "layout",
            "data_class_str": "Geo",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.geo.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "layout.geo",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.geo.subunitwidth": {
        "params": {
            "plotly_name": "subunitwidth",
            "parent_name": "layout.geo",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.subunitcolor": {
        "params": {
            "plotly_name": "subunitcolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.showsubunits": {
        "params": {
            "plotly_name": "showsubunits",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.showrivers": {
        "params": {
            "plotly_name": "showrivers",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.showocean": {
        "params": {
            "plotly_name": "showocean",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.showland": {
        "params": {
            "plotly_name": "showland",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.showlakes": {
        "params": {
            "plotly_name": "showlakes",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.showframe": {
        "params": {
            "plotly_name": "showframe",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.showcountries": {
        "params": {
            "plotly_name": "showcountries",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.showcoastlines": {
        "params": {
            "plotly_name": "showcoastlines",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.scope": {
        "params": {
            "plotly_name": "scope",
            "parent_name": "layout.geo",
            "edit_type": "plot",
            "values": [
                "africa",
                "antarctica",
                "asia",
                "europe",
                "north america",
                "oceania",
                "south america",
                "usa",
                "world"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.geo.riverwidth": {
        "params": {
            "plotly_name": "riverwidth",
            "parent_name": "layout.geo",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.rivercolor": {
        "params": {
            "plotly_name": "rivercolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.resolution": {
        "params": {
            "plotly_name": "resolution",
            "parent_name": "layout.geo",
            "coerce_number": true,
            "edit_type": "plot",
            "values": [
                110,
                50
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.geo.projection": {
        "params": {
            "plotly_name": "projection",
            "parent_name": "layout.geo",
            "data_class_str": "Projection",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.geo.projection.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "layout.geo.projection",
            "edit_type": "plot",
            "values": [
                "airy",
                "aitoff",
                "albers",
                "albers usa",
                "august",
                "azimuthal equal area",
                "azimuthal equidistant",
                "baker",
                "bertin1953",
                "boggs",
                "bonne",
                "bottomley",
                "bromley",
                "collignon",
                "conic conformal",
                "conic equal area",
                "conic equidistant",
                "craig",
                "craster",
                "cylindrical equal area",
                "cylindrical stereographic",
                "eckert1",
                "eckert2",
                "eckert3",
                "eckert4",
                "eckert5",
                "eckert6",
                "eisenlohr",
                "equal earth",
                "equirectangular",
                "fahey",
                "foucaut",
                "foucaut sinusoidal",
                "ginzburg4",
                "ginzburg5",
                "ginzburg6",
                "ginzburg8",
                "ginzburg9",
                "gnomonic",
                "gringorten",
                "gringorten quincuncial",
                "guyou",
                "hammer",
                "hill",
                "homolosine",
                "hufnagel",
                "hyperelliptical",
                "kavrayskiy7",
                "lagrange",
                "larrivee",
                "laskowski",
                "loximuthal",
                "mercator",
                "miller",
                "mollweide",
                "mt flat polar parabolic",
                "mt flat polar quartic",
                "mt flat polar sinusoidal",
                "natural earth",
                "natural earth1",
                "natural earth2",
                "nell hammer",
                "nicolosi",
                "orthographic",
                "patterson",
                "peirce quincuncial",
                "polyconic",
                "rectangular polyconic",
                "robinson",
                "satellite",
                "sinu mollweide",
                "sinusoidal",
                "stereographic",
                "times",
                "transverse mercator",
                "van der grinten",
                "van der grinten2",
                "van der grinten3",
                "van der grinten4",
                "wagner4",
                "wagner6",
                "wiechel",
                "winkel tripel",
                "winkel3"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.geo.projection.tilt": {
        "params": {
            "plotly_name": "tilt",
            "parent_name": "layout.geo.projection",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.projection.scale": {
        "params": {
            "plotly_name": "scale",
            "parent_name": "layout.geo.projection",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.projection.rotation": {
        "params": {
            "plotly_name": "rotation",
            "parent_name": "layout.geo.projection",
            "data_class_str": "Rotation",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.geo.projection.rotation.roll": {
        "params": {
            "plotly_name": "roll",
            "parent_name": "layout.geo.projection.rotation",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.projection.rotation.lon": {
        "params": {
            "plotly_name": "lon",
            "parent_name": "layout.geo.projection.rotation",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.projection.rotation.lat": {
        "params": {
            "plotly_name": "lat",
            "parent_name": "layout.geo.projection.rotation",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.projection.parallels": {
        "params": {
            "plotly_name": "parallels",
            "parent_name": "layout.geo.projection",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.geo.projection.minscale": {
        "params": {
            "plotly_name": "minscale",
            "parent_name": "layout.geo.projection",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.projection.maxscale": {
        "params": {
            "plotly_name": "maxscale",
            "parent_name": "layout.geo.projection",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.projection.distance": {
        "params": {
            "plotly_name": "distance",
            "parent_name": "layout.geo.projection",
            "edit_type": "plot",
            "min": 1.001
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.oceancolor": {
        "params": {
            "plotly_name": "oceancolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.lonaxis": {
        "params": {
            "plotly_name": "lonaxis",
            "parent_name": "layout.geo",
            "data_class_str": "Lonaxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.geo.lonaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.geo.lonaxis",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.lonaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.geo.lonaxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.lonaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.geo.lonaxis",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.geo.lonaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.geo.lonaxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.lonaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.geo.lonaxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.geo.lonaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.geo.lonaxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.lonaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.geo.lonaxis",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.lataxis": {
        "params": {
            "plotly_name": "lataxis",
            "parent_name": "layout.geo",
            "data_class_str": "Lataxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.geo.lataxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.geo.lataxis",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.lataxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "layout.geo.lataxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.geo.lataxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "layout.geo.lataxis",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.geo.lataxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "layout.geo.lataxis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.lataxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "layout.geo.lataxis",
            "edit_type": "plot",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "layout.geo.lataxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "layout.geo.lataxis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.lataxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.geo.lataxis",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.landcolor": {
        "params": {
            "plotly_name": "landcolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.lakecolor": {
        "params": {
            "plotly_name": "lakecolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.framewidth": {
        "params": {
            "plotly_name": "framewidth",
            "parent_name": "layout.geo",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.framecolor": {
        "params": {
            "plotly_name": "framecolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.fitbounds": {
        "params": {
            "plotly_name": "fitbounds",
            "parent_name": "layout.geo",
            "edit_type": "plot",
            "values": [
                false,
                "locations",
                "geojson"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.geo.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "layout.geo",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.geo.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.geo.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.geo.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.geo.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.geo.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "layout.geo.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.geo.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "layout.geo.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.geo.countrywidth": {
        "params": {
            "plotly_name": "countrywidth",
            "parent_name": "layout.geo",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.countrycolor": {
        "params": {
            "plotly_name": "countrycolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.coastlinewidth": {
        "params": {
            "plotly_name": "coastlinewidth",
            "parent_name": "layout.geo",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.coastlinecolor": {
        "params": {
            "plotly_name": "coastlinecolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.geo.center": {
        "params": {
            "plotly_name": "center",
            "parent_name": "layout.geo",
            "data_class_str": "Center",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.geo.center.lon": {
        "params": {
            "plotly_name": "lon",
            "parent_name": "layout.geo.center",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.center.lat": {
        "params": {
            "plotly_name": "lat",
            "parent_name": "layout.geo.center",
            "edit_type": "plot"
        },
        "superclass": "NumberValidator"
    },
    "layout.geo.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.geo",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "layout.funnelmode": {
        "params": {
            "plotly_name": "funnelmode",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "stack",
                "group",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.funnelgroupgap": {
        "params": {
            "plotly_name": "funnelgroupgap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.funnelgap": {
        "params": {
            "plotly_name": "funnelgap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.funnelareacolorway": {
        "params": {
            "plotly_name": "funnelareacolorway",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "ColorlistValidator"
    },
    "layout.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "layout.extendtreemapcolors": {
        "params": {
            "plotly_name": "extendtreemapcolors",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.extendsunburstcolors": {
        "params": {
            "plotly_name": "extendsunburstcolors",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.extendpiecolors": {
        "params": {
            "plotly_name": "extendpiecolors",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.extendiciclecolors": {
        "params": {
            "plotly_name": "extendiciclecolors",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.extendfunnelareacolors": {
        "params": {
            "plotly_name": "extendfunnelareacolors",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.editrevision": {
        "params": {
            "plotly_name": "editrevision",
            "parent_name": "layout",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.dragmode": {
        "params": {
            "plotly_name": "dragmode",
            "parent_name": "layout",
            "edit_type": "modebar",
            "values": [
                "zoom",
                "pan",
                "select",
                "lasso",
                "drawclosedpath",
                "drawopenpath",
                "drawline",
                "drawrect",
                "drawcircle",
                "orbit",
                "turntable",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.datarevision": {
        "params": {
            "plotly_name": "datarevision",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "layout.computed": {
        "params": {
            "plotly_name": "computed",
            "parent_name": "layout",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "layout.colorway": {
        "params": {
            "plotly_name": "colorway",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "ColorlistValidator"
    },
    "layout.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "layout",
            "data_class_str": "Colorscale",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.colorscale.sequentialminus": {
        "params": {
            "plotly_name": "sequentialminus",
            "parent_name": "layout.colorscale",
            "edit_type": "calc"
        },
        "superclass": "ColorscaleValidator"
    },
    "layout.colorscale.sequential": {
        "params": {
            "plotly_name": "sequential",
            "parent_name": "layout.colorscale",
            "edit_type": "calc"
        },
        "superclass": "ColorscaleValidator"
    },
    "layout.colorscale.diverging": {
        "params": {
            "plotly_name": "diverging",
            "parent_name": "layout.colorscale",
            "edit_type": "calc"
        },
        "superclass": "ColorscaleValidator"
    },
    "layout.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "layout",
            "data_class_str": "Coloraxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.coloraxis.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "layout.coloraxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "layout.coloraxis.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "layout.coloraxis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "layout.coloraxis.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "layout.coloraxis",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "layout.coloraxis.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "layout.coloraxis",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.coloraxis.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "layout.coloraxis.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "layout.coloraxis.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.coloraxis.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "layout.coloraxis.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.coloraxis.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.coloraxis.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.coloraxis.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.coloraxis.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.coloraxis.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "layout.coloraxis.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.coloraxis.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "layout.coloraxis.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.coloraxis.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "layout.coloraxis.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.coloraxis.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "layout.coloraxis.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.coloraxis.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "layout.coloraxis.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.coloraxis.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.coloraxis.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "layout.coloraxis.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "layout.coloraxis.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "layout.coloraxis.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "layout.coloraxis.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "layout.coloraxis.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.coloraxis.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.coloraxis.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.coloraxis.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.coloraxis.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.coloraxis.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "layout.coloraxis.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "layout.coloraxis.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "layout.coloraxis.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.coloraxis.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "layout.coloraxis.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "layout.coloraxis.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "layout.coloraxis.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.coloraxis.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "layout.coloraxis.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.coloraxis.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "layout.coloraxis.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "layout.coloraxis.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.coloraxis.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "layout.coloraxis.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "layout.coloraxis",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "layout.coloraxis",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "layout.coloraxis",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "layout.coloraxis.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "layout.coloraxis",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "layout.coloraxis.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "layout.coloraxis",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "layout.clickmode": {
        "params": {
            "plotly_name": "clickmode",
            "parent_name": "layout",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "event",
                "select"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.clickanywhere": {
        "params": {
            "plotly_name": "clickanywhere",
            "parent_name": "layout",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "layout.calendar": {
        "params": {
            "plotly_name": "calendar",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.boxmode": {
        "params": {
            "plotly_name": "boxmode",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "group",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.boxgroupgap": {
        "params": {
            "plotly_name": "boxgroupgap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.boxgap": {
        "params": {
            "plotly_name": "boxgap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.barnorm": {
        "params": {
            "plotly_name": "barnorm",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "",
                "fraction",
                "percent"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.barmode": {
        "params": {
            "plotly_name": "barmode",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "stack",
                "group",
                "overlay",
                "relative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.bargroupgap": {
        "params": {
            "plotly_name": "bargroupgap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.bargap": {
        "params": {
            "plotly_name": "bargap",
            "parent_name": "layout",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.barcornerradius": {
        "params": {
            "plotly_name": "barcornerradius",
            "parent_name": "layout",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "layout.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "layout",
            "edit_type": "calc",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.autosize": {
        "params": {
            "plotly_name": "autosize",
            "parent_name": "layout",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "layout.annotationdefaults": {
        "params": {
            "plotly_name": "annotationdefaults",
            "parent_name": "layout",
            "data_class_str": "Annotation",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.annotations": {
        "params": {
            "plotly_name": "annotations",
            "parent_name": "layout",
            "data_class_str": "Annotation",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "layout.annotation.yshift": {
        "params": {
            "plotly_name": "yshift",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "layout.annotation",
            "edit_type": "calc",
            "values": [
                "paper",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.yclick": {
        "params": {
            "plotly_name": "yclick",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.annotation.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "values": [
                "auto",
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.annotation.xshift": {
        "params": {
            "plotly_name": "xshift",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "layout.annotation",
            "edit_type": "calc",
            "values": [
                "paper",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.xclick": {
        "params": {
            "plotly_name": "xclick",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.annotation.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "values": [
                "auto",
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.annotation.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.annotation.valign": {
        "params": {
            "plotly_name": "valign",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.textangle": {
        "params": {
            "plotly_name": "textangle",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AngleValidator"
    },
    "layout.annotation.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.annotation.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "layout.annotation",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "layout.annotation.startstandoff": {
        "params": {
            "plotly_name": "startstandoff",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.startarrowsize": {
        "params": {
            "plotly_name": "startarrowsize",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 0.3
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.startarrowhead": {
        "params": {
            "plotly_name": "startarrowhead",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw",
            "max": 8,
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.annotation.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.annotation.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "layout.annotation",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "layout.annotation.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.annotation.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "layout.annotation",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.annotation.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.annotation.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.annotation.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.annotation.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.annotation.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.annotation.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.annotation.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.annotation.hoverlabel.font",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.annotation.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.annotation.hoverlabel",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.annotation.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.annotation.hoverlabel",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.annotation.height": {
        "params": {
            "plotly_name": "height",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "layout.annotation",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.annotation.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "layout.annotation.font",
            "edit_type": "calc+arraydraw",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "layout.annotation.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "layout.annotation.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "layout.annotation.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "layout.annotation.font",
            "edit_type": "calc+arraydraw",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "layout.annotation.font",
            "edit_type": "calc+arraydraw",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "layout.annotation.font",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "StringValidator"
    },
    "layout.annotation.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "layout.annotation.font",
            "edit_type": "calc+arraydraw",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.annotation.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "layout.annotation.font",
            "edit_type": "calc+arraydraw",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "layout.annotation.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "layout.annotation.font",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.annotation.clicktoshow": {
        "params": {
            "plotly_name": "clicktoshow",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw",
            "values": [
                false,
                "onoff",
                "onout"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.captureevents": {
        "params": {
            "plotly_name": "captureevents",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw"
        },
        "superclass": "BooleanValidator"
    },
    "layout.annotation.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.borderpad": {
        "params": {
            "plotly_name": "borderpad",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.annotation.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.annotation.ayref": {
        "params": {
            "plotly_name": "ayref",
            "parent_name": "layout.annotation",
            "edit_type": "calc",
            "values": [
                "pixel",
                "/^y([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.ay": {
        "params": {
            "plotly_name": "ay",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.annotation.axref": {
        "params": {
            "plotly_name": "axref",
            "parent_name": "layout.annotation",
            "edit_type": "calc",
            "values": [
                "pixel",
                "/^x([2-9]|[1-9][0-9]+)?( domain)?$/"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.annotation.ax": {
        "params": {
            "plotly_name": "ax",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw"
        },
        "superclass": "AnyValidator"
    },
    "layout.annotation.arrowwidth": {
        "params": {
            "plotly_name": "arrowwidth",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 0.1
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.arrowsize": {
        "params": {
            "plotly_name": "arrowsize",
            "parent_name": "layout.annotation",
            "edit_type": "calc+arraydraw",
            "min": 0.3
        },
        "superclass": "NumberValidator"
    },
    "layout.annotation.arrowside": {
        "params": {
            "plotly_name": "arrowside",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw",
            "extras": [
                "none"
            ],
            "flags": [
                "end",
                "start"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "layout.annotation.arrowhead": {
        "params": {
            "plotly_name": "arrowhead",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw",
            "max": 8,
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "layout.annotation.arrowcolor": {
        "params": {
            "plotly_name": "arrowcolor",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw"
        },
        "superclass": "ColorValidator"
    },
    "layout.annotation.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "layout.annotation",
            "edit_type": "arraydraw",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "layout.activeshape": {
        "params": {
            "plotly_name": "activeshape",
            "parent_name": "layout",
            "data_class_str": "Activeshape",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.activeshape.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.activeshape",
            "edit_type": "none",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.activeshape.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "layout.activeshape",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "layout.activeselection": {
        "params": {
            "plotly_name": "activeselection",
            "parent_name": "layout",
            "data_class_str": "Activeselection",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "layout.activeselection.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "layout.activeselection",
            "edit_type": "none",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "layout.activeselection.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "layout.activeselection",
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "waterfall": {
        "params": {
            "plotly_name": "waterfall",
            "parent_name": "",
            "data_class_str": "Waterfall",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "waterfall",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "waterfall.yperiodalignment": {
        "params": {
            "plotly_name": "yperiodalignment",
            "parent_name": "waterfall",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.yperiod0": {
        "params": {
            "plotly_name": "yperiod0",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.yperiod": {
        "params": {
            "plotly_name": "yperiod",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "waterfall",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "waterfall.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "waterfall",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "waterfall.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "waterfall",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "waterfall",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "waterfall.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "waterfall",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "waterfall",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "waterfall.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "waterfall",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "waterfall.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "waterfall",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "waterfall",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "waterfall.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "waterfall.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "waterfall",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "waterfall",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "waterfall",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "waterfall.totals": {
        "params": {
            "plotly_name": "totals",
            "parent_name": "waterfall",
            "data_class_str": "Totals",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.totals.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "waterfall.totals",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.totals.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "waterfall.totals.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.totals.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "waterfall.totals.marker.line",
            "array_ok": false,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "waterfall.totals.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.totals.marker.line",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.totals.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.totals.marker",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "waterfall",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "waterfall.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "inside",
                "outside",
                "auto",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.textinfo": {
        "params": {
            "plotly_name": "textinfo",
            "parent_name": "waterfall",
            "array_ok": false,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "label",
                "text",
                "initial",
                "delta",
                "final"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "waterfall.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "waterfall",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "waterfall.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "waterfall.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "waterfall.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "waterfall.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "waterfall.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.textangle": {
        "params": {
            "plotly_name": "textangle",
            "parent_name": "waterfall",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "waterfall.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "waterfall.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "waterfall",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "waterfall.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.outsidetextfont": {
        "params": {
            "plotly_name": "outsidetextfont",
            "parent_name": "waterfall",
            "data_class_str": "Outsidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.outsidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "waterfall.outsidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.outsidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.outsidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.outsidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "waterfall.outsidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "waterfall.outsidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "waterfall.outsidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "waterfall.outsidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.outsidetextfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "waterfall",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "waterfall",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "waterfall.offsetgroup": {
        "params": {
            "plotly_name": "offsetgroup",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "waterfall.offset": {
        "params": {
            "plotly_name": "offset",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "waterfall.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "waterfall",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "waterfall.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.measure": {
        "params": {
            "plotly_name": "measure",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "waterfall.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "waterfall",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "waterfall.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "waterfall",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "waterfall.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "waterfall",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "waterfall.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "waterfall.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "waterfall.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "waterfall.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "waterfall.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "waterfall.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "waterfall.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "waterfall.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "waterfall",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "waterfall.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "waterfall",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "waterfall.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "waterfall",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "waterfall.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "waterfall.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "waterfall.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "waterfall.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "waterfall.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.insidetextfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.insidetextanchor": {
        "params": {
            "plotly_name": "insidetextanchor",
            "parent_name": "waterfall",
            "edit_type": "plot",
            "values": [
                "end",
                "middle",
                "start"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.increasing": {
        "params": {
            "plotly_name": "increasing",
            "parent_name": "waterfall",
            "data_class_str": "Increasing",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.increasing.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "waterfall.increasing",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.increasing.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "waterfall.increasing.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.increasing.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "waterfall.increasing.marker.line",
            "array_ok": false,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "waterfall.increasing.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.increasing.marker.line",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.increasing.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.increasing.marker",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "waterfall.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "waterfall.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "waterfall",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "waterfall.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "waterfall.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "waterfall",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "waterfall.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "waterfall.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "waterfall.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "waterfall.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "waterfall.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "waterfall.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "waterfall.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "waterfall.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "waterfall.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "waterfall.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "waterfall.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "waterfall.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "waterfall.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "waterfall",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "name",
                "x",
                "y",
                "text",
                "initial",
                "delta",
                "final"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "waterfall.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "waterfall.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "waterfall.decreasing": {
        "params": {
            "plotly_name": "decreasing",
            "parent_name": "waterfall",
            "data_class_str": "Decreasing",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.decreasing.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "waterfall.decreasing",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.decreasing.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "waterfall.decreasing.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.decreasing.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "waterfall.decreasing.marker.line",
            "array_ok": false,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "waterfall.decreasing.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.decreasing.marker.line",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.decreasing.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.decreasing.marker",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "waterfall.constraintext": {
        "params": {
            "plotly_name": "constraintext",
            "parent_name": "waterfall",
            "edit_type": "calc",
            "values": [
                "inside",
                "outside",
                "both",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.connector": {
        "params": {
            "plotly_name": "connector",
            "parent_name": "waterfall",
            "data_class_str": "Connector",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.connector.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "waterfall.connector",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "waterfall.connector.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "waterfall.connector",
            "edit_type": "plot",
            "values": [
                "spanning",
                "between"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "waterfall.connector.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "waterfall.connector",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "waterfall.connector.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "waterfall.connector.line",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "waterfall.connector.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "waterfall.connector.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "waterfall.connector.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "waterfall.connector.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "waterfall.cliponaxis": {
        "params": {
            "plotly_name": "cliponaxis",
            "parent_name": "waterfall",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "waterfall.base": {
        "params": {
            "plotly_name": "base",
            "parent_name": "waterfall",
            "array_ok": false,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "waterfall.alignmentgroup": {
        "params": {
            "plotly_name": "alignmentgroup",
            "parent_name": "waterfall",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume": {
        "params": {
            "plotly_name": "volume",
            "parent_name": "",
            "data_class_str": "Volume",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "volume",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "volume",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "volume",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "volume",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.valuehoverformat": {
        "params": {
            "plotly_name": "valuehoverformat",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "volume",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "volume",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "volume.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "volume",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "volume.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "volume",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.surface": {
        "params": {
            "plotly_name": "surface",
            "parent_name": "volume",
            "data_class_str": "Surface",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.surface.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.surface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.surface.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "volume.surface",
            "edit_type": "calc",
            "extras": [
                "all",
                "odd",
                "even"
            ],
            "flags": [
                "A",
                "B",
                "C",
                "D",
                "E"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "volume.surface.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "volume.surface",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.surface.count": {
        "params": {
            "plotly_name": "count",
            "parent_name": "volume.surface",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "volume.spaceframe": {
        "params": {
            "plotly_name": "spaceframe",
            "parent_name": "volume",
            "data_class_str": "Spaceframe",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.spaceframe.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.spaceframe",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.spaceframe.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "volume.spaceframe",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.slices": {
        "params": {
            "plotly_name": "slices",
            "parent_name": "volume",
            "data_class_str": "Slices",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.slices.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "volume.slices",
            "data_class_str": "Z",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.slices.z.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.slices.z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.slices.z.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "volume.slices.z",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.slices.z.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "volume.slices.z",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.slices.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "volume.slices",
            "data_class_str": "Y",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.slices.y.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.slices.y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.slices.y.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "volume.slices.y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.slices.y.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "volume.slices.y",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.slices.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "volume.slices",
            "data_class_str": "X",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.slices.x.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.slices.x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.slices.x.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "volume.slices.x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.slices.x.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "volume.slices.x",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.scene": {
        "params": {
            "plotly_name": "scene",
            "parent_name": "volume",
            "dflt": "scene",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "volume.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.opacityscale": {
        "params": {
            "plotly_name": "opacityscale",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "volume.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "volume",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "volume",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "volume.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "volume",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "volume.lightposition": {
        "params": {
            "plotly_name": "lightposition",
            "parent_name": "volume",
            "data_class_str": "Lightposition",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.lightposition.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "volume.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "volume.lightposition.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "volume.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "volume.lightposition.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "volume.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "volume.lighting": {
        "params": {
            "plotly_name": "lighting",
            "parent_name": "volume",
            "data_class_str": "Lighting",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.lighting.vertexnormalsepsilon": {
        "params": {
            "plotly_name": "vertexnormalsepsilon",
            "parent_name": "volume.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.lighting.specular": {
        "params": {
            "plotly_name": "specular",
            "parent_name": "volume.lighting",
            "edit_type": "calc",
            "max": 2,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.lighting.roughness": {
        "params": {
            "plotly_name": "roughness",
            "parent_name": "volume.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.lighting.fresnel": {
        "params": {
            "plotly_name": "fresnel",
            "parent_name": "volume.lighting",
            "edit_type": "calc",
            "max": 5,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.lighting.facenormalsepsilon": {
        "params": {
            "plotly_name": "facenormalsepsilon",
            "parent_name": "volume.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.lighting.diffuse": {
        "params": {
            "plotly_name": "diffuse",
            "parent_name": "volume.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.lighting.ambient": {
        "params": {
            "plotly_name": "ambient",
            "parent_name": "volume.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "volume",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "volume",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "volume.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "volume",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "volume.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "volume.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "volume.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "volume.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "volume.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "volume.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "volume.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "volume.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "volume.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "volume.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "volume",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "volume.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "volume",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "volume.isomin": {
        "params": {
            "plotly_name": "isomin",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "volume.isomax": {
        "params": {
            "plotly_name": "isomax",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "volume.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "volume",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "volume.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "volume",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "volume",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "volume.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "volume.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "volume.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "volume.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "volume.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "volume.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "volume.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "volume.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "volume.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "volume.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "volume.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "volume.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "volume.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "volume.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "volume.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "volume.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "volume.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "volume",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "volume.flatshading": {
        "params": {
            "plotly_name": "flatshading",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "volume",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.contour": {
        "params": {
            "plotly_name": "contour",
            "parent_name": "volume",
            "data_class_str": "Contour",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.contour.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "volume.contour",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "volume.contour.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.contour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.contour.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "volume.contour",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "volume.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "volume",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "volume.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "volume",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "volume.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "volume.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "volume.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "volume.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "volume.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "volume.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "volume.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "volume.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "volume.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "volume.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "volume.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "volume.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "volume.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "volume.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "volume.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "volume.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "volume.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "volume.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "volume.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "volume.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "volume.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "volume.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "volume.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "volume.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "volume.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "volume.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "volume.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "volume.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "volume.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "volume.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "volume.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "volume.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "volume.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "volume.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "volume.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "volume.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "volume.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "volume.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "volume",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "volume.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "volume",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "volume.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "volume",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "volume.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "volume",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "volume.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "volume",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "volume.caps": {
        "params": {
            "plotly_name": "caps",
            "parent_name": "volume",
            "data_class_str": "Caps",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.caps.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "volume.caps",
            "data_class_str": "Z",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.caps.z.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.caps.z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.caps.z.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "volume.caps.z",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.caps.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "volume.caps",
            "data_class_str": "Y",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.caps.y.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.caps.y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.caps.y.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "volume.caps.y",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.caps.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "volume.caps",
            "data_class_str": "X",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "volume.caps.x.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "volume.caps.x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "volume.caps.x.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "volume.caps.x",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "volume.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "volume",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "violin": {
        "params": {
            "plotly_name": "violin",
            "parent_name": "",
            "data_class_str": "Violin",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "violin",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "violin.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "violin",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "violin.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "violin",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "violin.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "violin",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "violin.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "violin",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "violin.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "violin",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "violin.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "violin",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "violin.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "violin",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "violin.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "violin",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "violin.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "violin",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "violin",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "violin",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "violin.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "violin.unselected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "violin.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "violin",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "violin.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "violin",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "violin.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "violin",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "violin.spanmode": {
        "params": {
            "plotly_name": "spanmode",
            "parent_name": "violin",
            "edit_type": "calc",
            "values": [
                "soft",
                "hard",
                "manual"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.span": {
        "params": {
            "plotly_name": "span",
            "parent_name": "violin",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "violin.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "violin",
            "edit_type": "calc",
            "values": [
                "both",
                "positive",
                "negative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "violin",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "violin.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "violin",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "violin.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "violin",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "violin.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "violin.selected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "violin.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.scalemode": {
        "params": {
            "plotly_name": "scalemode",
            "parent_name": "violin",
            "edit_type": "calc",
            "values": [
                "width",
                "count"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.scalegroup": {
        "params": {
            "plotly_name": "scalegroup",
            "parent_name": "violin",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "violin.quartilemethod": {
        "params": {
            "plotly_name": "quartilemethod",
            "parent_name": "violin",
            "edit_type": "calc",
            "values": [
                "linear",
                "exclusive",
                "inclusive"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.points": {
        "params": {
            "plotly_name": "points",
            "parent_name": "violin",
            "edit_type": "calc",
            "values": [
                "all",
                "outliers",
                "suspectedoutliers",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.pointpos": {
        "params": {
            "plotly_name": "pointpos",
            "parent_name": "violin",
            "edit_type": "calc",
            "max": 2,
            "min": -2
        },
        "superclass": "NumberValidator"
    },
    "violin.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "violin",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "violin",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.offsetgroup": {
        "params": {
            "plotly_name": "offsetgroup",
            "parent_name": "violin",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "violin.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "violin",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "StringValidator"
    },
    "violin.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "violin",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "violin.meanline": {
        "params": {
            "plotly_name": "meanline",
            "parent_name": "violin",
            "data_class_str": "Meanline",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.meanline.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "violin.meanline",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.meanline.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "violin.meanline",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "violin.meanline.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.meanline",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "violin",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "violin.marker",
            "array_ok": false,
            "edit_type": "plot",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "violin.marker",
            "array_ok": false,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.marker.outliercolor": {
        "params": {
            "plotly_name": "outliercolor",
            "parent_name": "violin.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "violin.marker",
            "array_ok": false,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "violin.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "violin.marker.line",
            "array_ok": false,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.marker.line.outlierwidth": {
        "params": {
            "plotly_name": "outlierwidth",
            "parent_name": "violin.marker.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.marker.line.outliercolor": {
        "params": {
            "plotly_name": "outliercolor",
            "parent_name": "violin.marker.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.marker.line",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.marker",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "violin.marker",
            "array_ok": false,
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "violin.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "violin",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "violin.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "violin",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "violin",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "violin.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "violin",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "violin.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "violin.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "violin.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "violin.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "violin.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "violin.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "violin.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "violin.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "violin",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "violin.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "violin",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "violin.jitter": {
        "params": {
            "plotly_name": "jitter",
            "parent_name": "violin",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "violin",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "violin.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "violin",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "violin.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "violin",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "violin.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "violin",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "violin.hoveron": {
        "params": {
            "plotly_name": "hoveron",
            "parent_name": "violin",
            "edit_type": "style",
            "extras": [
                "all"
            ],
            "flags": [
                "violins",
                "points",
                "kde"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "violin.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "violin",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "violin.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "violin.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "violin.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "violin.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "violin.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "violin.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "violin.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "violin.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "violin.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "violin.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "violin.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "violin.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "violin.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "violin.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "violin.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "violin.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "violin.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "violin",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "violin.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "violin",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "violin",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "violin.box": {
        "params": {
            "plotly_name": "box",
            "parent_name": "violin",
            "data_class_str": "Box",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.box.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "violin.box",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.box.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "violin.box",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "violin.box.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "violin.box",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "violin.box.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "violin.box.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.box.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "violin.box.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.box.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "violin.box",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "violin.bandwidth": {
        "params": {
            "plotly_name": "bandwidth",
            "parent_name": "violin",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "violin.alignmentgroup": {
        "params": {
            "plotly_name": "alignmentgroup",
            "parent_name": "violin",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "treemap": {
        "params": {
            "plotly_name": "treemap",
            "parent_name": "",
            "data_class_str": "Treemap",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "treemap",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "treemap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "treemap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "treemap.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "treemap",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "treemap.tiling": {
        "params": {
            "plotly_name": "tiling",
            "parent_name": "treemap",
            "data_class_str": "Tiling",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.tiling.squarifyratio": {
        "params": {
            "plotly_name": "squarifyratio",
            "parent_name": "treemap.tiling",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.tiling.pad": {
        "params": {
            "plotly_name": "pad",
            "parent_name": "treemap.tiling",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.tiling.packing": {
        "params": {
            "plotly_name": "packing",
            "parent_name": "treemap.tiling",
            "edit_type": "plot",
            "values": [
                "squarify",
                "binary",
                "dice",
                "slice",
                "slice-dice",
                "dice-slice"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.tiling.flip": {
        "params": {
            "plotly_name": "flip",
            "parent_name": "treemap.tiling",
            "edit_type": "plot",
            "flags": [
                "x",
                "y"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "treemap",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "treemap.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "treemap",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "treemap.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "treemap",
            "edit_type": "plot",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.textinfo": {
        "params": {
            "plotly_name": "textinfo",
            "parent_name": "treemap",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "current path",
                "percent root",
                "percent entry",
                "percent parent"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "treemap",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "treemap.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "treemap.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "treemap.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "treemap",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.sort": {
        "params": {
            "plotly_name": "sort",
            "parent_name": "treemap",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "treemap.root": {
        "params": {
            "plotly_name": "root",
            "parent_name": "treemap",
            "data_class_str": "Root",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.root.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.root",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "treemap.pathbar": {
        "params": {
            "plotly_name": "pathbar",
            "parent_name": "treemap",
            "data_class_str": "Pathbar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.pathbar.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "treemap.pathbar",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "treemap.pathbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "treemap.pathbar",
            "edit_type": "plot",
            "min": 12
        },
        "superclass": "NumberValidator"
    },
    "treemap.pathbar.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "treemap.pathbar",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.pathbar.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.pathbar.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.pathbar.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.pathbar.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.pathbar.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.pathbar.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "treemap.pathbar.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.pathbar.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "treemap.pathbar.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "treemap.pathbar.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "treemap.pathbar",
            "edit_type": "plot",
            "values": [
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.pathbar.edgeshape": {
        "params": {
            "plotly_name": "edgeshape",
            "parent_name": "treemap.pathbar",
            "edit_type": "plot",
            "values": [
                ">",
                "<",
                "|",
                "/",
                "\\"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.parents": {
        "params": {
            "plotly_name": "parents",
            "parent_name": "treemap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.outsidetextfont": {
        "params": {
            "plotly_name": "outsidetextfont",
            "parent_name": "treemap",
            "data_class_str": "Outsidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.outsidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.outsidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.outsidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.outsidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.outsidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.outsidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "treemap.outsidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.outsidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "treemap.outsidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "treemap.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "treemap",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "treemap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "treemap.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "treemap",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "treemap.maxdepth": {
        "params": {
            "plotly_name": "maxdepth",
            "parent_name": "treemap",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "treemap.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "treemap",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "treemap.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "treemap.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "treemap.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "treemap.marker.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "treemap.marker",
            "data_class_str": "Pattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.marker.pattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "treemap.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.pattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.pattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "treemap.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.pattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "treemap.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.pattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "treemap.marker.pattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.pattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "treemap.marker.pattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.pattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "treemap.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.pattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "treemap.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.pad": {
        "params": {
            "plotly_name": "pad",
            "parent_name": "treemap.marker",
            "data_class_str": "Pad",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.marker.pad.t": {
        "params": {
            "plotly_name": "t",
            "parent_name": "treemap.marker.pad",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.pad.r": {
        "params": {
            "plotly_name": "r",
            "parent_name": "treemap.marker.pad",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.pad.l": {
        "params": {
            "plotly_name": "l",
            "parent_name": "treemap.marker.pad",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.pad.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "treemap.marker.pad",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "treemap.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "treemap.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.marker.line",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.depthfade": {
        "params": {
            "plotly_name": "depthfade",
            "parent_name": "treemap.marker",
            "edit_type": "style",
            "values": [
                true,
                false,
                "reversed"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.cornerradius": {
        "params": {
            "plotly_name": "cornerradius",
            "parent_name": "treemap.marker",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "treemap.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "treemap.marker.colors": {
        "params": {
            "plotly_name": "colors",
            "parent_name": "treemap.marker",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "treemap.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "treemap.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "treemap.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "treemap.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "treemap.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "treemap.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "treemap.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "treemap.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "treemap.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "treemap.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "treemap.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "treemap.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "treemap.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "treemap.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "treemap.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "treemap.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "treemap.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "treemap.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "treemap.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "treemap.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "treemap.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "treemap.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "treemap.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "treemap.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "treemap.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "treemap.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "treemap.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "treemap.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "treemap.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "treemap.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "treemap.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "treemap.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "treemap.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "treemap.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "treemap.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "treemap.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "treemap.level": {
        "params": {
            "plotly_name": "level",
            "parent_name": "treemap",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "treemap.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "treemap",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "treemap.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "treemap",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "treemap.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "treemap",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "treemap.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "treemap.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "treemap.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "treemap.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "treemap.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "treemap.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "treemap",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "treemap.labels": {
        "params": {
            "plotly_name": "labels",
            "parent_name": "treemap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "treemap",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "treemap.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "treemap.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "treemap.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "treemap",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "treemap",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "treemap.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "treemap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "treemap.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "treemap",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "treemap.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "treemap",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "treemap.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "treemap.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "treemap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "treemap.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "treemap.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "treemap.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "treemap.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "treemap.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "treemap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "treemap.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "treemap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "treemap.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "treemap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "treemap.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "treemap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "treemap.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "treemap",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "name",
                "current path",
                "percent root",
                "percent entry",
                "percent parent"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "treemap",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "treemap.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "treemap.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "treemap.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "treemap.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "treemap.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "treemap.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "treemap.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "treemap.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "treemap.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "treemap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "treemap.count": {
        "params": {
            "plotly_name": "count",
            "parent_name": "treemap",
            "edit_type": "calc",
            "flags": [
                "branches",
                "leaves"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "treemap.branchvalues": {
        "params": {
            "plotly_name": "branchvalues",
            "parent_name": "treemap",
            "edit_type": "calc",
            "values": [
                "remainder",
                "total"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table": {
        "params": {
            "plotly_name": "table",
            "parent_name": "",
            "data_class_str": "Table",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "table",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "table",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "table.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "table",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "table.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "table",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "table.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "table",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "table.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "table",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "table.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "table",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "table.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "table",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "table.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "table.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "table.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "table.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "table.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "table.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "table.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "table.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "table.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "table.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "table",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "table.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "table",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "table.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "table",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "table.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "table.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "table.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "table.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "table.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "table.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "table.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "table.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "table.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "table.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "table.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "table.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "table.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "table.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "table.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "table.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "table.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "table",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "table.header": {
        "params": {
            "plotly_name": "header",
            "parent_name": "table",
            "data_class_str": "Header",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.header.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "table.header",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "table.header.suffix": {
        "params": {
            "plotly_name": "suffix",
            "parent_name": "table.header",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "table.header.prefix": {
        "params": {
            "plotly_name": "prefix",
            "parent_name": "table.header",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "table.header.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "table.header",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.header.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "table.header.line",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "table.header.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "table.header.line",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "table.header.height": {
        "params": {
            "plotly_name": "height",
            "parent_name": "table.header",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "table.header.format": {
        "params": {
            "plotly_name": "format",
            "parent_name": "table.header",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "table.header.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "table.header",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.header.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "table.header.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.header.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.header.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.header.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "table.header.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "table.header.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "table.header.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "table.header.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "table.header.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "table.header.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "table.header",
            "data_class_str": "Fill",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.header.fill.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "table.header.fill",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "table.header.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "table.header",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "table",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "table.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "table.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "table.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "table.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "table.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "table.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "table.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "table.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "table",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "table.columnwidth": {
        "params": {
            "plotly_name": "columnwidth",
            "parent_name": "table",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "table.columnorder": {
        "params": {
            "plotly_name": "columnorder",
            "parent_name": "table",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "table.cells": {
        "params": {
            "plotly_name": "cells",
            "parent_name": "table",
            "data_class_str": "Cells",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.cells.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "table.cells",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "table.cells.suffix": {
        "params": {
            "plotly_name": "suffix",
            "parent_name": "table.cells",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "table.cells.prefix": {
        "params": {
            "plotly_name": "prefix",
            "parent_name": "table.cells",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "table.cells.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "table.cells",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.cells.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "table.cells.line",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "table.cells.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "table.cells.line",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "table.cells.height": {
        "params": {
            "plotly_name": "height",
            "parent_name": "table.cells",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "table.cells.format": {
        "params": {
            "plotly_name": "format",
            "parent_name": "table.cells",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "table.cells.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "table.cells",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.cells.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "table.cells.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.cells.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.cells.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "table.cells.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "table.cells.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "table.cells.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "table.cells.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "table.cells.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "table.cells.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "table.cells.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "table.cells",
            "data_class_str": "Fill",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "table.cells.fill.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "table.cells.fill",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "table.cells.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "table.cells",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface": {
        "params": {
            "plotly_name": "surface",
            "parent_name": "",
            "data_class_str": "Surface",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.zcalendar": {
        "params": {
            "plotly_name": "zcalendar",
            "parent_name": "surface",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "surface",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "surface.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "surface",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "surface",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "surface.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "surface",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "surface",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "surface.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "surface",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "surface",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "surface.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "surface",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "surface.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "surface",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.surfacecolor": {
        "params": {
            "plotly_name": "surfacecolor",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "surface.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.scene": {
        "params": {
            "plotly_name": "scene",
            "parent_name": "surface",
            "dflt": "scene",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "surface.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.opacityscale": {
        "params": {
            "plotly_name": "opacityscale",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "surface.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "surface",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "surface",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "surface.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "surface",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "surface.lightposition": {
        "params": {
            "plotly_name": "lightposition",
            "parent_name": "surface",
            "data_class_str": "Lightposition",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.lightposition.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "surface.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "surface.lightposition.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "surface.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "surface.lightposition.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "surface.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "surface.lighting": {
        "params": {
            "plotly_name": "lighting",
            "parent_name": "surface",
            "data_class_str": "Lighting",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.lighting.specular": {
        "params": {
            "plotly_name": "specular",
            "parent_name": "surface.lighting",
            "edit_type": "calc",
            "max": 2,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.lighting.roughness": {
        "params": {
            "plotly_name": "roughness",
            "parent_name": "surface.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.lighting.fresnel": {
        "params": {
            "plotly_name": "fresnel",
            "parent_name": "surface.lighting",
            "edit_type": "calc",
            "max": 5,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.lighting.diffuse": {
        "params": {
            "plotly_name": "diffuse",
            "parent_name": "surface.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.lighting.ambient": {
        "params": {
            "plotly_name": "ambient",
            "parent_name": "surface.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "surface",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "surface",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "surface.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "surface",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "surface.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "surface.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "surface.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "surface.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "surface.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "surface.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "surface.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "surface.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "surface.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "surface",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "surface.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "surface",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "surface.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "surface.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "surface",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "surface.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "surface",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "surface",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "surface.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "surface.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "surface.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "surface.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "surface.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "surface.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "surface.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "surface.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "surface.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "surface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "surface.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "surface.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "surface.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "surface.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "surface.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "surface.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "surface",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "surface.hidesurface": {
        "params": {
            "plotly_name": "hidesurface",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "surface.contours": {
        "params": {
            "plotly_name": "contours",
            "parent_name": "surface",
            "data_class_str": "Contours",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.contours.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "surface.contours",
            "data_class_str": "Z",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.contours.z.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "surface.contours.z",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.z.usecolormap": {
        "params": {
            "plotly_name": "usecolormap",
            "parent_name": "surface.contours.z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.z.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "surface.contours.z",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.z.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "surface.contours.z",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.z.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "surface.contours.z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.z.project": {
        "params": {
            "plotly_name": "project",
            "parent_name": "surface.contours.z",
            "data_class_str": "Project",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.contours.z.project.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "surface.contours.z.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.z.project.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "surface.contours.z.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.z.project.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "surface.contours.z.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.z.highlightwidth": {
        "params": {
            "plotly_name": "highlightwidth",
            "parent_name": "surface.contours.z",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.z.highlightcolor": {
        "params": {
            "plotly_name": "highlightcolor",
            "parent_name": "surface.contours.z",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.contours.z.highlight": {
        "params": {
            "plotly_name": "highlight",
            "parent_name": "surface.contours.z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.z.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "surface.contours.z",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.z.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "surface.contours.z",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.contours.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "surface.contours",
            "data_class_str": "Y",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.contours.y.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "surface.contours.y",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.y.usecolormap": {
        "params": {
            "plotly_name": "usecolormap",
            "parent_name": "surface.contours.y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.y.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "surface.contours.y",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.y.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "surface.contours.y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.y.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "surface.contours.y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.y.project": {
        "params": {
            "plotly_name": "project",
            "parent_name": "surface.contours.y",
            "data_class_str": "Project",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.contours.y.project.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "surface.contours.y.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.y.project.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "surface.contours.y.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.y.project.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "surface.contours.y.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.y.highlightwidth": {
        "params": {
            "plotly_name": "highlightwidth",
            "parent_name": "surface.contours.y",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.y.highlightcolor": {
        "params": {
            "plotly_name": "highlightcolor",
            "parent_name": "surface.contours.y",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.contours.y.highlight": {
        "params": {
            "plotly_name": "highlight",
            "parent_name": "surface.contours.y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.y.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "surface.contours.y",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.y.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "surface.contours.y",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.contours.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "surface.contours",
            "data_class_str": "X",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.contours.x.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "surface.contours.x",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.x.usecolormap": {
        "params": {
            "plotly_name": "usecolormap",
            "parent_name": "surface.contours.x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.x.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "surface.contours.x",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.x.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "surface.contours.x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.x.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "surface.contours.x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.x.project": {
        "params": {
            "plotly_name": "project",
            "parent_name": "surface.contours.x",
            "data_class_str": "Project",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.contours.x.project.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "surface.contours.x.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.x.project.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "surface.contours.x.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.x.project.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "surface.contours.x.project",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.x.highlightwidth": {
        "params": {
            "plotly_name": "highlightwidth",
            "parent_name": "surface.contours.x",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.x.highlightcolor": {
        "params": {
            "plotly_name": "highlightcolor",
            "parent_name": "surface.contours.x",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.contours.x.highlight": {
        "params": {
            "plotly_name": "highlight",
            "parent_name": "surface.contours.x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.contours.x.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "surface.contours.x",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "surface.contours.x.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "surface.contours.x",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "surface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "surface",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "surface.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "surface",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "surface.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "surface.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "surface.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "surface.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "surface.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "surface.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "surface.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "surface.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "surface.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "surface.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "surface.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "surface.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "surface.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "surface.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "surface.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "surface.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "surface.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "surface.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "surface.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "surface.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "surface.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "surface.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "surface.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "surface.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "surface.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "surface.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "surface.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "surface.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "surface.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "surface.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "surface.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "surface.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "surface.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "surface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "surface.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "surface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "surface.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "surface",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "surface.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "surface",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "surface.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "surface",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "surface.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "surface",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "surface.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "surface",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "surface.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "surface",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "sunburst": {
        "params": {
            "plotly_name": "sunburst",
            "parent_name": "",
            "data_class_str": "Sunburst",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "sunburst",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "sunburst",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "sunburst",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "sunburst.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "sunburst",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "sunburst.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "sunburst",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "sunburst.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "sunburst",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "sunburst.textinfo": {
        "params": {
            "plotly_name": "textinfo",
            "parent_name": "sunburst",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "current path",
                "percent root",
                "percent entry",
                "percent parent"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "sunburst",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sunburst.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "sunburst.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sunburst.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "sunburst",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.sort": {
        "params": {
            "plotly_name": "sort",
            "parent_name": "sunburst",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.rotation": {
        "params": {
            "plotly_name": "rotation",
            "parent_name": "sunburst",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "sunburst.root": {
        "params": {
            "plotly_name": "root",
            "parent_name": "sunburst",
            "data_class_str": "Root",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.root.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.root",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.parents": {
        "params": {
            "plotly_name": "parents",
            "parent_name": "sunburst",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.outsidetextfont": {
        "params": {
            "plotly_name": "outsidetextfont",
            "parent_name": "sunburst",
            "data_class_str": "Outsidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.outsidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.outsidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.outsidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.outsidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.outsidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sunburst.outsidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "sunburst.outsidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.outsidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sunburst.outsidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "sunburst",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "sunburst",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "sunburst.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "sunburst",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "sunburst.maxdepth": {
        "params": {
            "plotly_name": "maxdepth",
            "parent_name": "sunburst",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "sunburst",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "sunburst.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "sunburst.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.marker.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "sunburst.marker",
            "data_class_str": "Pattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.marker.pattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "sunburst.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.pattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sunburst.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.pattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "sunburst.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.pattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "sunburst.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.pattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "sunburst.marker.pattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.pattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "sunburst.marker.pattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.pattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "sunburst.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.pattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "sunburst.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "sunburst.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "sunburst.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.marker.line",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "sunburst.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "sunburst.marker.colors": {
        "params": {
            "plotly_name": "colors",
            "parent_name": "sunburst.marker",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "sunburst.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "sunburst.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "sunburst.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "sunburst.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "sunburst.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "sunburst.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "sunburst.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "sunburst.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "sunburst.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "sunburst.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "sunburst.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "sunburst.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "sunburst.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "sunburst.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "sunburst.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "sunburst.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sunburst.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "sunburst.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "sunburst.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "sunburst.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "sunburst.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "sunburst.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "sunburst.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "sunburst.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "sunburst.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "sunburst.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "sunburst.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "sunburst.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "sunburst.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "sunburst.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.level": {
        "params": {
            "plotly_name": "level",
            "parent_name": "sunburst",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "sunburst.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "sunburst",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "sunburst",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "sunburst.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "sunburst",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "sunburst.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "sunburst.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "sunburst.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sunburst.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "sunburst.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sunburst.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "sunburst",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "sunburst.leaf": {
        "params": {
            "plotly_name": "leaf",
            "parent_name": "sunburst",
            "data_class_str": "Leaf",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.leaf.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "sunburst.leaf",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sunburst.labels": {
        "params": {
            "plotly_name": "labels",
            "parent_name": "sunburst",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.insidetextorientation": {
        "params": {
            "plotly_name": "insidetextorientation",
            "parent_name": "sunburst",
            "edit_type": "plot",
            "values": [
                "horizontal",
                "radial",
                "tangential",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "sunburst",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sunburst.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "sunburst.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sunburst.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "sunburst",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "sunburst",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "sunburst.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "sunburst",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "sunburst.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "sunburst",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "sunburst.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "sunburst",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "sunburst.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "sunburst.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "sunburst.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "sunburst.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sunburst.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "sunburst.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sunburst.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sunburst.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "sunburst.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "sunburst.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "sunburst.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "sunburst.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sunburst.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "sunburst",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "name",
                "current path",
                "percent root",
                "percent entry",
                "percent parent"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "sunburst",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sunburst.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "sunburst.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "sunburst.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "sunburst.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "sunburst.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "sunburst.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "sunburst.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "sunburst.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "sunburst",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sunburst.count": {
        "params": {
            "plotly_name": "count",
            "parent_name": "sunburst",
            "edit_type": "calc",
            "flags": [
                "branches",
                "leaves"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sunburst.branchvalues": {
        "params": {
            "plotly_name": "branchvalues",
            "parent_name": "sunburst",
            "edit_type": "calc",
            "values": [
                "remainder",
                "total"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube": {
        "params": {
            "plotly_name": "streamtube",
            "parent_name": "",
            "data_class_str": "Streamtube",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "streamtube",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "streamtube.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "streamtube",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "streamtube",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "streamtube.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "streamtube",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "streamtube",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "streamtube.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "streamtube",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.whoverformat": {
        "params": {
            "plotly_name": "whoverformat",
            "parent_name": "streamtube",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "streamtube.w": {
        "params": {
            "plotly_name": "w",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.vhoverformat": {
        "params": {
            "plotly_name": "vhoverformat",
            "parent_name": "streamtube",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "streamtube.v": {
        "params": {
            "plotly_name": "v",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "streamtube",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "streamtube.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "streamtube",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "streamtube.uhoverformat": {
        "params": {
            "plotly_name": "uhoverformat",
            "parent_name": "streamtube",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "streamtube.u": {
        "params": {
            "plotly_name": "u",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "streamtube.starts": {
        "params": {
            "plotly_name": "starts",
            "parent_name": "streamtube",
            "data_class_str": "Starts",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.starts.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "streamtube.starts",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.starts.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "streamtube.starts",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.starts.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "streamtube.starts",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "streamtube.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "streamtube",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "streamtube.scene": {
        "params": {
            "plotly_name": "scene",
            "parent_name": "streamtube",
            "dflt": "scene",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "streamtube.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "streamtube",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "streamtube.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "streamtube",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "streamtube.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "streamtube",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "streamtube.maxdisplayed": {
        "params": {
            "plotly_name": "maxdisplayed",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "streamtube.lightposition": {
        "params": {
            "plotly_name": "lightposition",
            "parent_name": "streamtube",
            "data_class_str": "Lightposition",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.lightposition.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "streamtube.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lightposition.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "streamtube.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lightposition.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "streamtube.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lighting": {
        "params": {
            "plotly_name": "lighting",
            "parent_name": "streamtube",
            "data_class_str": "Lighting",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.lighting.vertexnormalsepsilon": {
        "params": {
            "plotly_name": "vertexnormalsepsilon",
            "parent_name": "streamtube.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lighting.specular": {
        "params": {
            "plotly_name": "specular",
            "parent_name": "streamtube.lighting",
            "edit_type": "calc",
            "max": 2,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lighting.roughness": {
        "params": {
            "plotly_name": "roughness",
            "parent_name": "streamtube.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lighting.fresnel": {
        "params": {
            "plotly_name": "fresnel",
            "parent_name": "streamtube.lighting",
            "edit_type": "calc",
            "max": 5,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lighting.facenormalsepsilon": {
        "params": {
            "plotly_name": "facenormalsepsilon",
            "parent_name": "streamtube.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lighting.diffuse": {
        "params": {
            "plotly_name": "diffuse",
            "parent_name": "streamtube.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.lighting.ambient": {
        "params": {
            "plotly_name": "ambient",
            "parent_name": "streamtube.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "streamtube",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "streamtube",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "streamtube.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "streamtube",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "streamtube.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "streamtube.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "streamtube.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "streamtube.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "streamtube.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "streamtube.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "streamtube.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "streamtube.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "streamtube.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "streamtube",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "streamtube.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "streamtube",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "streamtube.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "streamtube.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "streamtube.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "streamtube",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "streamtube.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "streamtube",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "streamtube.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "streamtube.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "streamtube.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "streamtube.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "streamtube.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "streamtube.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "streamtube.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "streamtube.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "streamtube.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "streamtube.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "streamtube.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "streamtube.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "streamtube.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "streamtube.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "streamtube",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "u",
                "v",
                "w",
                "norm",
                "divergence",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "streamtube.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "streamtube",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "streamtube.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "streamtube",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "streamtube.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "streamtube.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "streamtube.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "streamtube.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "streamtube.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "streamtube.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "streamtube.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "streamtube.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "streamtube.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "streamtube.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "streamtube.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "streamtube.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "streamtube.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "streamtube.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "streamtube.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "streamtube.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "streamtube.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "streamtube.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "streamtube.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "streamtube.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "streamtube.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "streamtube.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "streamtube.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "streamtube.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "streamtube.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "streamtube.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "streamtube.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "streamtube.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "streamtube.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "streamtube.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "streamtube.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "streamtube.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "streamtube.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "streamtube.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "streamtube.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "streamtube.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "streamtube.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "streamtube",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "streamtube.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "streamtube.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "streamtube.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "streamtube.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "streamtube.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "streamtube",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "splom": {
        "params": {
            "plotly_name": "splom",
            "parent_name": "",
            "data_class_str": "Splom",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "splom",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "splom.yaxes": {
        "params": {
            "plotly_name": "yaxes",
            "parent_name": "splom",
            "edit_type": "calc",
            "free_length": true,
            "items": {
                "editType": "plot",
                "regex": "/^y([2-9]|[1-9][0-9]+)?( domain)?$/",
                "valType": "subplotid"
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "splom.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "splom",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "splom.xaxes": {
        "params": {
            "plotly_name": "xaxes",
            "parent_name": "splom",
            "edit_type": "calc",
            "free_length": true,
            "items": {
                "editType": "plot",
                "regex": "/^x([2-9]|[1-9][0-9]+)?( domain)?$/",
                "valType": "subplotid"
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "splom.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "splom",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "splom",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "splom.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "splom.unselected.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "splom.unselected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "splom.unselected.marker",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "splom.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "splom",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "splom.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "splom",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "splom.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "splom",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "splom.showupperhalf": {
        "params": {
            "plotly_name": "showupperhalf",
            "parent_name": "splom",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "splom.showlowerhalf": {
        "params": {
            "plotly_name": "showlowerhalf",
            "parent_name": "splom",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "splom.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "splom",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "splom.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "splom",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "splom.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "splom",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "splom.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "splom.selected.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "splom.selected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "splom.selected.marker",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "splom.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "splom",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "splom",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "splom.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "splom",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "splom.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "splom",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "splom.marker",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "splom.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "splom.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "splom.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "splom.marker",
            "array_ok": true,
            "edit_type": "markerSize",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "splom.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "splom.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "splom.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "splom.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "splom.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "splom.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "splom.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "splom.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "splom.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "splom.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "splom.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "splom.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "splom.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "splom.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "splom.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "splom.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "splom.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "splom.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "splom.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "splom.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "splom.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "splom.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "splom.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "splom.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "splom.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "splom.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "splom.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "splom.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "splom.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "splom.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "splom.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "splom.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "splom.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "splom.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "splom.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "splom.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "splom.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "splom.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "splom.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "splom.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "splom.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "splom.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "splom.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "splom.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "splom.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "splom.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "splom.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "splom.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "splom.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "splom.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "splom.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "splom.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "splom.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "splom.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "splom.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "splom.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "splom.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "splom.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "splom.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "splom.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "splom.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "splom.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "splom.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "splom.marker",
            "edit_type": "style",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "splom.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "splom.marker",
            "edit_type": "style",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "splom.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "splom.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "splom.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "splom.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "splom.marker",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "splom.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "splom",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "splom.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "splom",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "splom.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "splom",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "splom.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "splom.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "splom.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "splom.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "splom.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "splom.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "splom.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "splom.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "splom.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "splom.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "splom",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "splom.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "splom",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "splom.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "splom",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "splom.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "splom",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "splom.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "splom",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "splom.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "splom",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "splom.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "splom",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "splom.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "splom.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "splom.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "splom.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "splom.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "splom.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "splom.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "splom.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "splom.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "splom.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "splom.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "splom.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "splom.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "splom.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "splom.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "splom.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "splom.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "splom",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "splom.dimensiondefaults": {
        "params": {
            "plotly_name": "dimensiondefaults",
            "parent_name": "splom",
            "data_class_str": "Dimension",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.dimensions": {
        "params": {
            "plotly_name": "dimensions",
            "parent_name": "splom",
            "data_class_str": "Dimension",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "splom.dimension.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "splom.dimension",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "splom.dimension.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "splom.dimension",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "splom.dimension.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "splom.dimension",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "splom.dimension.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "splom.dimension",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "splom.dimension.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "splom.dimension",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "splom.dimension.axis": {
        "params": {
            "plotly_name": "axis",
            "parent_name": "splom.dimension",
            "data_class_str": "Axis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.dimension.axis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "splom.dimension.axis",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "linear",
                "log",
                "date",
                "category"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "splom.dimension.axis.matches": {
        "params": {
            "plotly_name": "matches",
            "parent_name": "splom.dimension.axis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "splom.diagonal": {
        "params": {
            "plotly_name": "diagonal",
            "parent_name": "splom",
            "data_class_str": "Diagonal",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "splom.diagonal.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "splom.diagonal",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "splom.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "splom",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterternary": {
        "params": {
            "plotly_name": "scatterternary",
            "parent_name": "",
            "data_class_str": "Scatterternary",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatterternary",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scatterternary",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterternary.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterternary.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterternary.unselected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterternary.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scatterternary",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatterternary.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scatterternary",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scatterternary",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scatterternary.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scatterternary",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scatterternary",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterternary",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterternary.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterternary.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterternary.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterternary",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.sum": {
        "params": {
            "plotly_name": "sum",
            "parent_name": "scatterternary",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.subplot": {
        "params": {
            "plotly_name": "subplot",
            "parent_name": "scatterternary",
            "dflt": "ternary",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterternary.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scatterternary",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scatterternary",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatterternary.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scatterternary",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterternary.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterternary.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterternary.selected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterternary.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterternary",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatterternary",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scatterternary",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterternary.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scatterternary",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scatterternary.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterternary",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scatterternary.marker",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "scatterternary.marker",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scatterternary.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scatterternary.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scatterternary.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterternary.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scatterternary.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatterternary.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterternary.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.maxdisplayed": {
        "params": {
            "plotly_name": "maxdisplayed",
            "parent_name": "scatterternary.marker",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatterternary.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatterternary.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatterternary.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scatterternary.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scatterternary.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatterternary.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatterternary.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatterternary.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterternary.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scatterternary.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatterternary.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatterternary.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatterternary.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatterternary.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatterternary.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.gradient": {
        "params": {
            "plotly_name": "gradient",
            "parent_name": "scatterternary.marker",
            "data_class_str": "Gradient",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.marker.gradient.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatterternary.marker.gradient",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "radial",
                "horizontal",
                "vertical",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.gradient.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.marker.gradient",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatterternary.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatterternary.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scatterternary.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scatterternary.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scatterternary.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterternary.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scatterternary.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterternary.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterternary.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterternary.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterternary.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterternary.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterternary.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scatterternary.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scatterternary.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scatterternary.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatterternary.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scatterternary.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatterternary.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scatterternary.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scatterternary.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scatterternary.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scatterternary.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterternary.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterternary.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterternary.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "scatterternary.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatterternary.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatterternary.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "scatterternary.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatterternary.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatterternary.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatterternary.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterternary.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scatterternary.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatterternary.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatterternary.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatterternary.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatterternary.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatterternary.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.marker.angleref": {
        "params": {
            "plotly_name": "angleref",
            "parent_name": "scatterternary.marker",
            "edit_type": "plot",
            "values": [
                "previous",
                "up"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scatterternary.marker",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "scatterternary.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatterternary",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatterternary.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.line.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "scatterternary.line",
            "edit_type": "plot",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.line.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "scatterternary.line",
            "edit_type": "plot",
            "values": [
                "linear",
                "spline"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scatterternary.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scatterternary.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.line.backoff": {
        "params": {
            "plotly_name": "backoff",
            "parent_name": "scatterternary.line",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scatterternary",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scatterternary",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scatterternary",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterternary.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterternary.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterternary.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterternary.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterternary.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scatterternary",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scatterternary",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterternary.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scatterternary",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterternary.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scatterternary",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scatterternary",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatterternary.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scatterternary",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.hoveron": {
        "params": {
            "plotly_name": "hoveron",
            "parent_name": "scatterternary",
            "edit_type": "style",
            "flags": [
                "points",
                "fills"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterternary.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scatterternary",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scatterternary.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scatterternary.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scatterternary.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterternary.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterternary.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterternary.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterternary.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatterternary.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterternary.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterternary.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterternary.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatterternary.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatterternary.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scatterternary.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scatterternary",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "a",
                "b",
                "c",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterternary.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scatterternary",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterternary.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scatterternary",
            "edit_type": "calc",
            "values": [
                "none",
                "toself",
                "tonext"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterternary.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scatterternary",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterternary.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scatterternary",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.cliponaxis": {
        "params": {
            "plotly_name": "cliponaxis",
            "parent_name": "scatterternary",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatterternary.c": {
        "params": {
            "plotly_name": "c",
            "parent_name": "scatterternary",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterternary.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "scatterternary",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterternary.a": {
        "params": {
            "plotly_name": "a",
            "parent_name": "scatterternary",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattersmith": {
        "params": {
            "plotly_name": "scattersmith",
            "parent_name": "",
            "data_class_str": "Scattersmith",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scattersmith",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scattersmith",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattersmith.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattersmith.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattersmith.unselected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattersmith.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scattersmith",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scattersmith.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scattersmith",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scattersmith",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scattersmith.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scattersmith",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scattersmith",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattersmith",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattersmith.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattersmith.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattersmith.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattersmith",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.subplot": {
        "params": {
            "plotly_name": "subplot",
            "parent_name": "scattersmith",
            "dflt": "smith",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "scattersmith.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scattersmith",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scattersmith",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattersmith.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scattersmith",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattersmith.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattersmith.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattersmith.selected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattersmith.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.real": {
        "params": {
            "plotly_name": "real",
            "parent_name": "scattersmith",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scattersmith.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattersmith",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattersmith",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scattersmith",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattersmith.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scattersmith",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scattersmith.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattersmith",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scattersmith.marker",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "scattersmith.marker",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scattersmith.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scattersmith.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scattersmith.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattersmith.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scattersmith.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattersmith.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattersmith.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.maxdisplayed": {
        "params": {
            "plotly_name": "maxdisplayed",
            "parent_name": "scattersmith.marker",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattersmith.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattersmith.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattersmith.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scattersmith.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scattersmith.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattersmith.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattersmith.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattersmith.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattersmith.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scattersmith.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattersmith.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattersmith.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattersmith.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattersmith.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattersmith.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.gradient": {
        "params": {
            "plotly_name": "gradient",
            "parent_name": "scattersmith.marker",
            "data_class_str": "Gradient",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.marker.gradient.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scattersmith.marker.gradient",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "radial",
                "horizontal",
                "vertical",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.gradient.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.marker.gradient",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattersmith.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattersmith.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scattersmith.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scattersmith.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scattersmith.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattersmith.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scattersmith.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattersmith.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattersmith.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattersmith.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scattersmith.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scattersmith.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattersmith.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scattersmith.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scattersmith.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scattersmith.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scattersmith.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scattersmith.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattersmith.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scattersmith.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scattersmith.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scattersmith.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scattersmith.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattersmith.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattersmith.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattersmith.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "scattersmith.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattersmith.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattersmith.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "scattersmith.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattersmith.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattersmith.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattersmith.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattersmith.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scattersmith.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattersmith.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattersmith.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattersmith.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattersmith.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattersmith.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.marker.angleref": {
        "params": {
            "plotly_name": "angleref",
            "parent_name": "scattersmith.marker",
            "edit_type": "plot",
            "values": [
                "previous",
                "up"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scattersmith.marker",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "scattersmith.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattersmith",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattersmith.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.line.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "scattersmith.line",
            "edit_type": "plot",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.line.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "scattersmith.line",
            "edit_type": "plot",
            "values": [
                "linear",
                "spline"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scattersmith.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scattersmith.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.line.backoff": {
        "params": {
            "plotly_name": "backoff",
            "parent_name": "scattersmith.line",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scattersmith",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scattersmith",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scattersmith",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattersmith.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattersmith.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattersmith.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattersmith.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattersmith.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scattersmith",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scattersmith",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scattersmith.imag": {
        "params": {
            "plotly_name": "imag",
            "parent_name": "scattersmith",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scattersmith.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scattersmith",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattersmith.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scattersmith",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scattersmith",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scattersmith.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scattersmith",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.hoveron": {
        "params": {
            "plotly_name": "hoveron",
            "parent_name": "scattersmith",
            "edit_type": "style",
            "flags": [
                "points",
                "fills"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattersmith.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scattersmith",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scattersmith.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scattersmith.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scattersmith.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattersmith.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattersmith.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattersmith.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattersmith.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scattersmith.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattersmith.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattersmith.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattersmith.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattersmith.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattersmith.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scattersmith.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scattersmith",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "real",
                "imag",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattersmith.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scattersmith",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattersmith.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scattersmith",
            "edit_type": "calc",
            "values": [
                "none",
                "toself",
                "tonext"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattersmith.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scattersmith",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattersmith.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scattersmith",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattersmith.cliponaxis": {
        "params": {
            "plotly_name": "cliponaxis",
            "parent_name": "scattersmith",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl": {
        "params": {
            "plotly_name": "scatterpolargl",
            "parent_name": "",
            "data_class_str": "Scatterpolargl",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatterpolargl",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scatterpolargl",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterpolargl.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterpolargl.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolargl.unselected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterpolargl.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scatterpolargl",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scatterpolargl",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.thetaunit": {
        "params": {
            "plotly_name": "thetaunit",
            "parent_name": "scatterpolargl",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "radians",
                "degrees",
                "gradians"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.theta0": {
        "params": {
            "plotly_name": "theta0",
            "parent_name": "scatterpolargl",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.theta": {
        "params": {
            "plotly_name": "theta",
            "parent_name": "scatterpolargl",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolargl.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scatterpolargl",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scatterpolargl",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scatterpolargl",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterpolargl",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolargl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "bold"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolargl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolargl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolargl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolargl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterpolargl",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.subplot": {
        "params": {
            "plotly_name": "subplot",
            "parent_name": "scatterpolargl",
            "dflt": "polar",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterpolargl.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scatterpolargl",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scatterpolargl",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scatterpolargl",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterpolargl.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterpolargl.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolargl.selected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterpolargl.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.r0": {
        "params": {
            "plotly_name": "r0",
            "parent_name": "scatterpolargl",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.r": {
        "params": {
            "plotly_name": "r",
            "parent_name": "scatterpolargl",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolargl.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterpolargl",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatterpolargl",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scatterpolargl",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolargl.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scatterpolargl",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterpolargl",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scatterpolargl.marker",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolargl.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterpolargl.marker",
            "array_ok": true,
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatterpolargl.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatterpolargl.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatterpolargl.marker.line",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatterpolargl.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatterpolargl.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatterpolargl.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterpolargl.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scatterpolargl.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatterpolargl.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatterpolargl.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatterpolargl.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatterpolargl.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatterpolargl.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatterpolargl.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scatterpolargl.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scatterpolargl.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scatterpolargl.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterpolargl.marker.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scatterpolargl.marker.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterpolargl.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolargl.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolargl.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolargl.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scatterpolargl.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scatterpolargl.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scatterpolargl.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatterpolargl.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scatterpolargl.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatterpolargl.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scatterpolargl.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scatterpolargl.marker.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scatterpolargl.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scatterpolargl.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scatterpolargl.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolargl.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatterpolargl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatterpolargl.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterpolargl.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.marker",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scatterpolargl.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatterpolargl.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scatterpolargl.marker",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scatterpolargl.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatterpolargl",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatterpolargl.line",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scatterpolargl.line",
            "edit_type": "calc",
            "values": [
                "dash",
                "dashdot",
                "dot",
                "longdash",
                "longdashdot",
                "solid"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.line",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scatterpolargl",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scatterpolargl",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scatterpolargl",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterpolargl.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterpolargl.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolargl.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolargl.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scatterpolargl",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scatterpolargl",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterpolargl.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scatterpolargl",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolargl.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scatterpolargl",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scatterpolargl",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolargl.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scatterpolargl",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scatterpolargl",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scatterpolargl.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolargl.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scatterpolargl.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolargl.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterpolargl.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolargl.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolargl.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolargl.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolargl.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolargl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatterpolargl.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatterpolargl.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scatterpolargl.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scatterpolargl",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "r",
                "theta",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolargl.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scatterpolargl",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolargl.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scatterpolargl",
            "edit_type": "calc",
            "values": [
                "none",
                "tozeroy",
                "tozerox",
                "tonexty",
                "tonextx",
                "toself",
                "tonext"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolargl.dtheta": {
        "params": {
            "plotly_name": "dtheta",
            "parent_name": "scatterpolargl",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.dr": {
        "params": {
            "plotly_name": "dr",
            "parent_name": "scatterpolargl",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolargl.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scatterpolargl",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolargl.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scatterpolargl",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar": {
        "params": {
            "plotly_name": "scatterpolar",
            "parent_name": "",
            "data_class_str": "Scatterpolar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatterpolar",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scatterpolar",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterpolar.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterpolar.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolar.unselected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterpolar.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scatterpolar",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scatterpolar",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.thetaunit": {
        "params": {
            "plotly_name": "thetaunit",
            "parent_name": "scatterpolar",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "radians",
                "degrees",
                "gradians"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.theta0": {
        "params": {
            "plotly_name": "theta0",
            "parent_name": "scatterpolar",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.theta": {
        "params": {
            "plotly_name": "theta",
            "parent_name": "scatterpolar",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolar.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scatterpolar",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scatterpolar",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scatterpolar",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterpolar",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolar.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolar.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterpolar",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.subplot": {
        "params": {
            "plotly_name": "subplot",
            "parent_name": "scatterpolar",
            "dflt": "polar",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterpolar.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scatterpolar",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scatterpolar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scatterpolar",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatterpolar.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterpolar.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolar.selected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterpolar.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.r0": {
        "params": {
            "plotly_name": "r0",
            "parent_name": "scatterpolar",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.r": {
        "params": {
            "plotly_name": "r",
            "parent_name": "scatterpolar",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolar.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterpolar",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatterpolar",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scatterpolar",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolar.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scatterpolar",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatterpolar",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scatterpolar.marker",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "scatterpolar.marker",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scatterpolar.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scatterpolar.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scatterpolar.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolar.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scatterpolar.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatterpolar.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatterpolar.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.maxdisplayed": {
        "params": {
            "plotly_name": "maxdisplayed",
            "parent_name": "scatterpolar.marker",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatterpolar.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatterpolar.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatterpolar.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scatterpolar.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scatterpolar.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatterpolar.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatterpolar.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatterpolar.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterpolar.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scatterpolar.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatterpolar.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatterpolar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatterpolar.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatterpolar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatterpolar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.gradient": {
        "params": {
            "plotly_name": "gradient",
            "parent_name": "scatterpolar.marker",
            "data_class_str": "Gradient",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.marker.gradient.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatterpolar.marker.gradient",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "radial",
                "horizontal",
                "vertical",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.gradient.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.marker.gradient",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatterpolar.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatterpolar.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scatterpolar.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scatterpolar.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scatterpolar.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterpolar.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scatterpolar.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterpolar.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolar.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolar.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolar.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolar.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolar.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scatterpolar.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scatterpolar.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scatterpolar.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatterpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scatterpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatterpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scatterpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scatterpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scatterpolar.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scatterpolar.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "scatterpolar.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolar.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatterpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatterpolar.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterpolar.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scatterpolar.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatterpolar.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatterpolar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatterpolar.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatterpolar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatterpolar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.marker.angleref": {
        "params": {
            "plotly_name": "angleref",
            "parent_name": "scatterpolar.marker",
            "edit_type": "plot",
            "values": [
                "previous",
                "up"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scatterpolar.marker",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "scatterpolar.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatterpolar",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatterpolar.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.line.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "scatterpolar.line",
            "edit_type": "plot",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.line.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "scatterpolar.line",
            "edit_type": "plot",
            "values": [
                "linear",
                "spline"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scatterpolar.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scatterpolar.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.line.backoff": {
        "params": {
            "plotly_name": "backoff",
            "parent_name": "scatterpolar.line",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scatterpolar",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scatterpolar",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scatterpolar",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatterpolar.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterpolar.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolar.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolar.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scatterpolar",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scatterpolar",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scatterpolar.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scatterpolar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolar.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scatterpolar",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scatterpolar",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatterpolar.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scatterpolar",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.hoveron": {
        "params": {
            "plotly_name": "hoveron",
            "parent_name": "scatterpolar",
            "edit_type": "style",
            "flags": [
                "points",
                "fills"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolar.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scatterpolar",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scatterpolar.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scatterpolar.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolar.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatterpolar.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatterpolar.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatterpolar.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolar.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatterpolar.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatterpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatterpolar.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatterpolar.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scatterpolar.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scatterpolar",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "r",
                "theta",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatterpolar.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scatterpolar",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatterpolar.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scatterpolar",
            "edit_type": "calc",
            "values": [
                "none",
                "toself",
                "tonext"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatterpolar.dtheta": {
        "params": {
            "plotly_name": "dtheta",
            "parent_name": "scatterpolar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.dr": {
        "params": {
            "plotly_name": "dr",
            "parent_name": "scatterpolar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatterpolar.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scatterpolar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatterpolar.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scatterpolar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatterpolar.cliponaxis": {
        "params": {
            "plotly_name": "cliponaxis",
            "parent_name": "scatterpolar",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap": {
        "params": {
            "plotly_name": "scattermap",
            "parent_name": "",
            "data_class_str": "Scattermap",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scattermap",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scattermap",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattermap.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.unselected.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattermap.unselected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.unselected.marker",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scattermap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scattermap.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scattermap",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scattermap.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattermap.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scattermap",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scattermap",
            "array_ok": false,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattermap",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattermap.textfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattermap.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattermap.textfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.textfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattermap.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattermap.textfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattermap.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.textfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattermap",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.subplot": {
        "params": {
            "plotly_name": "subplot",
            "parent_name": "scattermap",
            "dflt": "map",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "scattermap.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scattermap",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattermap.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scattermap",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattermap.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.selected.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattermap.selected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.selected.marker",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattermap",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattermap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattermap.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scattermap",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattermap.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scattermap",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scattermap.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattermap",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scattermap.marker",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scattermap.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scattermap.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scattermap.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scattermap.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattermap.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattermap.marker",
            "array_ok": true,
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattermap.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattermap.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scattermap.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scattermap.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scattermap.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattermap.marker.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scattermap.marker.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattermap.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattermap.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattermap.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattermap.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattermap.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattermap.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scattermap.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scattermap.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scattermap.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scattermap.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scattermap.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattermap.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scattermap.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scattermap.marker.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scattermap.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scattermap.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattermap.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattermap.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattermap.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scattermap.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattermap.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattermap.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattermap.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattermap.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattermap.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattermap.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattermap.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.marker",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scattermap.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattermap.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattermap.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattermap.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattermap.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattermap.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scattermap.marker",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattermap.marker.allowoverlap": {
        "params": {
            "plotly_name": "allowoverlap",
            "parent_name": "scattermap.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.lon": {
        "params": {
            "plotly_name": "lon",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattermap.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattermap",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattermap.line",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.line",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scattermap",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scattermap",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scattermap.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scattermap",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattermap.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattermap.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattermap.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattermap.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattermap.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattermap.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattermap.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattermap.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scattermap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattermap.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scattermap",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scattermap.lat": {
        "params": {
            "plotly_name": "lat",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattermap.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattermap.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scattermap",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattermap.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scattermap",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattermap.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scattermap",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scattermap.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scattermap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scattermap.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattermap.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattermap.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattermap.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scattermap.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattermap.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattermap.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattermap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattermap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scattermap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scattermap",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "lon",
                "lat",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattermap.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scattermap",
            "edit_type": "calc",
            "values": [
                "none",
                "toself"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattermap.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattermap.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.cluster": {
        "params": {
            "plotly_name": "cluster",
            "parent_name": "scattermap",
            "data_class_str": "Cluster",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattermap.cluster.step": {
        "params": {
            "plotly_name": "step",
            "parent_name": "scattermap.cluster",
            "array_ok": true,
            "edit_type": "calc",
            "min": -1
        },
        "superclass": "NumberValidator"
    },
    "scattermap.cluster.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattermap.cluster",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.cluster.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattermap.cluster",
            "array_ok": true,
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.cluster.maxzoom": {
        "params": {
            "plotly_name": "maxzoom",
            "parent_name": "scattermap.cluster",
            "edit_type": "calc",
            "max": 24,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattermap.cluster.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scattermap.cluster",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattermap.cluster.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattermap.cluster",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattermap.below": {
        "params": {
            "plotly_name": "below",
            "parent_name": "scattermap",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl": {
        "params": {
            "plotly_name": "scattergl",
            "parent_name": "",
            "data_class_str": "Scattergl",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.yperiodalignment": {
        "params": {
            "plotly_name": "yperiodalignment",
            "parent_name": "scattergl",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.yperiod0": {
        "params": {
            "plotly_name": "yperiod0",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.yperiod": {
        "params": {
            "plotly_name": "yperiod",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "scattergl",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "scattergl",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergl.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "scattergl",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scattergl",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "scattergl",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "scattergl",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "scattergl",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergl.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "scattergl",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scattergl",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scattergl",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scattergl",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattergl.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.unselected.textfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattergl.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergl.unselected.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattergl.unselected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.unselected.marker",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scattergl",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scattergl",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scattergl.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scattergl",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scattergl",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattergl",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "bold"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergl.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergl.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergl.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattergl",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scattergl",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scattergl",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattergl.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.selected.textfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattergl.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergl.selected.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattergl.selected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.selected.marker",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattergl",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattergl",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattergl.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scattergl",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergl.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scattergl",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattergl",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scattergl.marker",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scattergl.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scattergl.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scattergl.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergl.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scattergl.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattergl.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattergl.marker",
            "array_ok": true,
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattergl.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattergl.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattergl.marker.line",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattergl.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattergl.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattergl.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergl.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scattergl.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattergl.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattergl.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattergl.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattergl.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattergl.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattergl.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattergl.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scattergl.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scattergl.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scattergl.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattergl.marker.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scattergl.marker.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattergl.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergl.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scattergl.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scattergl.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scattergl.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scattergl.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scattergl.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattergl.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scattergl.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scattergl.marker.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scattergl.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scattergl.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergl.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergl.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scattergl.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattergl.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattergl.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattergl.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattergl.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergl.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.marker",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scattergl.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattergl.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattergl.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattergl.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattergl.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattergl.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattergl.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scattergl.marker",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scattergl.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattergl",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattergl.line",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.line.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "scattergl.line",
            "edit_type": "calc",
            "values": [
                "linear",
                "hv",
                "vh",
                "hvh",
                "vhv"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scattergl.line",
            "edit_type": "calc",
            "values": [
                "dash",
                "dashdot",
                "dot",
                "longdash",
                "longdashdot",
                "solid"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.line",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scattergl",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scattergl",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scattergl.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scattergl",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattergl.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattergl.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattergl.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergl.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattergl.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergl.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergl.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scattergl",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattergl.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scattergl",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergl.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scattergl",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergl.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scattergl",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scattergl.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scattergl",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scattergl.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scattergl",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scattergl.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scattergl.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattergl.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergl.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scattergl.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergl.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergl.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattergl.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattergl.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scattergl.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scattergl",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergl.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scattergl",
            "edit_type": "calc",
            "values": [
                "none",
                "tozeroy",
                "tozerox",
                "tonexty",
                "tonextx",
                "toself",
                "tonext"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.error_y": {
        "params": {
            "plotly_name": "error_y",
            "parent_name": "scattergl",
            "data_class_str": "ErrorY",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.error_y.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.error_y.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.error_y.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.error_y.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.error_y.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.error_y.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.error_y.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.error_y.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.error_y.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.error_y.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.error_y.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.error_y.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "scattergl.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.error_x": {
        "params": {
            "plotly_name": "error_x",
            "parent_name": "scattergl",
            "data_class_str": "ErrorX",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergl.error_x.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.error_x.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.error_x.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.error_x.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.error_x.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergl.error_x.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.error_x.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattergl.error_x.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergl.error_x.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.error_x.copy_ystyle": {
        "params": {
            "plotly_name": "copy_ystyle",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergl.error_x.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergl.error_x.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.error_x.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "scattergl.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattergl.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattergl.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergl.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scattergl",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo": {
        "params": {
            "plotly_name": "scattergeo",
            "parent_name": "",
            "data_class_str": "Scattergeo",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scattergeo",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scattergeo",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattergeo.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.unselected.textfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattergeo.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergeo.unselected.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattergeo.unselected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.unselected.marker",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scattergeo",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scattergeo",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scattergeo",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scattergeo",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattergeo",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergeo.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergeo.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergeo.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattergeo",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scattergeo",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scattergeo",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattergeo.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.selected.textfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattergeo.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergeo.selected.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattergeo.selected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.selected.marker",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattergeo",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattergeo",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scattergeo",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergeo.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scattergeo",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattergeo",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scattergeo.marker",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "scattergeo.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergeo.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattergeo.marker",
            "array_ok": true,
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattergeo.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattergeo.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattergeo.marker.line",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scattergeo.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scattergeo.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattergeo.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattergeo.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattergeo.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergeo.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scattergeo.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattergeo.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattergeo.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattergeo.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattergeo.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattergeo.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.gradient": {
        "params": {
            "plotly_name": "gradient",
            "parent_name": "scattergeo.marker",
            "data_class_str": "Gradient",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.marker.gradient.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scattergeo.marker.gradient",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "radial",
                "horizontal",
                "vertical",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.gradient.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.marker.gradient",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattergeo.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scattergeo.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scattergeo.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scattergeo.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattergeo.marker.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scattergeo.marker.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattergeo.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergeo.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergeo.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergeo.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergeo.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergeo.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scattergeo.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scattergeo.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scattergeo.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scattergeo.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scattergeo.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattergeo.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scattergeo.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scattergeo.marker.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scattergeo.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scattergeo.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergeo.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergeo.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergeo.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scattergeo.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattergeo.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattergeo.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattergeo.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergeo.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.marker",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scattergeo.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.marker.angleref": {
        "params": {
            "plotly_name": "angleref",
            "parent_name": "scattergeo.marker",
            "edit_type": "calc",
            "values": [
                "previous",
                "up",
                "north"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scattergeo.marker",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scattergeo.lon": {
        "params": {
            "plotly_name": "lon",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergeo.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergeo.locationmode": {
        "params": {
            "plotly_name": "locationmode",
            "parent_name": "scattergeo",
            "edit_type": "calc",
            "values": [
                "ISO-3",
                "USA-states",
                "country names",
                "geojson-id"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattergeo",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattergeo.line",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scattergeo.line",
            "edit_type": "calc",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scattergeo.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.line",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scattergeo",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scattergeo",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scattergeo",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattergeo.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattergeo.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergeo.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergeo.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergeo.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scattergeo",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scattergeo",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergeo.lat": {
        "params": {
            "plotly_name": "lat",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergeo.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergeo.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scattergeo",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scattergeo",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scattergeo",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scattergeo.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scattergeo.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scattergeo.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scattergeo.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattergeo.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattergeo.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattergeo.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattergeo.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergeo.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattergeo.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattergeo.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattergeo.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattergeo.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scattergeo.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scattergeo",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "lon",
                "lat",
                "location",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattergeo.geojson": {
        "params": {
            "plotly_name": "geojson",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattergeo.geo": {
        "params": {
            "plotly_name": "geo",
            "parent_name": "scattergeo",
            "dflt": "geo",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "scattergeo.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattergeo.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scattergeo",
            "edit_type": "calc",
            "values": [
                "none",
                "toself"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattergeo.featureidkey": {
        "params": {
            "plotly_name": "featureidkey",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattergeo.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattergeo.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scattergeo",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet": {
        "params": {
            "plotly_name": "scattercarpet",
            "parent_name": "",
            "data_class_str": "Scattercarpet",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "scattercarpet",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "scattercarpet",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "scattercarpet.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "scattercarpet",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "scattercarpet.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scattercarpet",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scattercarpet",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattercarpet.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattercarpet.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattercarpet.unselected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattercarpet.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scattercarpet",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scattercarpet.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scattercarpet",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scattercarpet",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scattercarpet.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scattercarpet",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scattercarpet",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattercarpet",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattercarpet.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattercarpet",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scattercarpet",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scattercarpet",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scattercarpet.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scattercarpet",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scattercarpet.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattercarpet.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattercarpet.selected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattercarpet.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattercarpet",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattercarpet",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scattercarpet",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattercarpet.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scattercarpet",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scattercarpet.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scattercarpet",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scattercarpet.marker",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "scattercarpet.marker",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scattercarpet.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scattercarpet.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scattercarpet.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattercarpet.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scattercarpet.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattercarpet.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scattercarpet.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.maxdisplayed": {
        "params": {
            "plotly_name": "maxdisplayed",
            "parent_name": "scattercarpet.marker",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattercarpet.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattercarpet.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scattercarpet.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scattercarpet.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scattercarpet.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattercarpet.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattercarpet.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattercarpet.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattercarpet.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scattercarpet.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattercarpet.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattercarpet.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattercarpet.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattercarpet.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattercarpet.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.gradient": {
        "params": {
            "plotly_name": "gradient",
            "parent_name": "scattercarpet.marker",
            "data_class_str": "Gradient",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.marker.gradient.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scattercarpet.marker.gradient",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "radial",
                "horizontal",
                "vertical",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.gradient.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.marker.gradient",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scattercarpet.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scattercarpet.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scattercarpet.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scattercarpet.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scattercarpet.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattercarpet.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scattercarpet.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattercarpet.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattercarpet.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scattercarpet.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scattercarpet.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scattercarpet.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scattercarpet.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scattercarpet.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scattercarpet.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scattercarpet.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scattercarpet.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scattercarpet.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scattercarpet.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scattercarpet.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scattercarpet.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "scattercarpet.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattercarpet.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "scattercarpet.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scattercarpet.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattercarpet.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scattercarpet.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scattercarpet.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scattercarpet.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scattercarpet.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scattercarpet.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scattercarpet.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scattercarpet.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scattercarpet.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.marker.angleref": {
        "params": {
            "plotly_name": "angleref",
            "parent_name": "scattercarpet.marker",
            "edit_type": "plot",
            "values": [
                "previous",
                "up"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scattercarpet.marker",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "scattercarpet.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scattercarpet",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scattercarpet.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.line.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "scattercarpet.line",
            "edit_type": "plot",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.line.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "scattercarpet.line",
            "edit_type": "plot",
            "values": [
                "linear",
                "spline"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scattercarpet.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scattercarpet.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.line.backoff": {
        "params": {
            "plotly_name": "backoff",
            "parent_name": "scattercarpet.line",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scattercarpet",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scattercarpet",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scattercarpet",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scattercarpet.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattercarpet.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattercarpet.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scattercarpet",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scattercarpet",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scattercarpet.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scattercarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattercarpet.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scattercarpet",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scattercarpet",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scattercarpet.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scattercarpet",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.hoveron": {
        "params": {
            "plotly_name": "hoveron",
            "parent_name": "scattercarpet",
            "edit_type": "style",
            "flags": [
                "points",
                "fills"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattercarpet.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scattercarpet",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scattercarpet.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scattercarpet.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scattercarpet.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scattercarpet.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scattercarpet.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scattercarpet.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattercarpet.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scattercarpet.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scattercarpet.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scattercarpet.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scattercarpet.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scattercarpet",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "a",
                "b",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scattercarpet.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scattercarpet",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scattercarpet.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scattercarpet",
            "edit_type": "calc",
            "values": [
                "none",
                "toself",
                "tonext"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scattercarpet.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scattercarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattercarpet.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scattercarpet",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scattercarpet.carpet": {
        "params": {
            "plotly_name": "carpet",
            "parent_name": "scattercarpet",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scattercarpet.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "scattercarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scattercarpet.a": {
        "params": {
            "plotly_name": "a",
            "parent_name": "scattercarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d": {
        "params": {
            "plotly_name": "scatter3d",
            "parent_name": "",
            "data_class_str": "Scatter3d",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.zcalendar": {
        "params": {
            "plotly_name": "zcalendar",
            "parent_name": "scatter3d",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "scatter3d",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "scatter3d",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatter3d",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "scatter3d",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatter3d",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatter3d",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scatter3d",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scatter3d",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scatter3d",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scatter3d",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatter3d",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter3d.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter3d.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter3d.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter3d.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter3d.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter3d.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatter3d",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.surfacecolor": {
        "params": {
            "plotly_name": "surfacecolor",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.surfaceaxis": {
        "params": {
            "plotly_name": "surfaceaxis",
            "parent_name": "scatter3d",
            "edit_type": "calc",
            "values": [
                -1,
                0,
                1,
                2
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scatter3d",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.scene": {
        "params": {
            "plotly_name": "scene",
            "parent_name": "scatter3d",
            "dflt": "scene",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter3d.projection": {
        "params": {
            "plotly_name": "projection",
            "parent_name": "scatter3d",
            "data_class_str": "Projection",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.projection.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "scatter3d.projection",
            "data_class_str": "Z",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.projection.z.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "scatter3d.projection.z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.projection.z.scale": {
        "params": {
            "plotly_name": "scale",
            "parent_name": "scatter3d.projection.z",
            "edit_type": "calc",
            "max": 10,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.projection.z.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter3d.projection.z",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.projection.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatter3d.projection",
            "data_class_str": "Y",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.projection.y.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "scatter3d.projection.y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.projection.y.scale": {
        "params": {
            "plotly_name": "scale",
            "parent_name": "scatter3d.projection.y",
            "edit_type": "calc",
            "max": 10,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.projection.y.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter3d.projection.y",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.projection.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatter3d.projection",
            "data_class_str": "X",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.projection.x.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "scatter3d.projection.x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.projection.x.scale": {
        "params": {
            "plotly_name": "scale",
            "parent_name": "scatter3d.projection.x",
            "edit_type": "calc",
            "max": 10,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.projection.x.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter3d.projection.x",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter3d",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatter3d",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scatter3d",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter3d.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scatter3d",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatter3d",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scatter3d.marker",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "circle",
                "circle-open",
                "cross",
                "diamond",
                "diamond-open",
                "square",
                "square-open",
                "x"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter3d.marker",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter3d.marker",
            "array_ok": false,
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatter3d.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter3d.marker.line",
            "array_ok": false,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatter3d.marker.line",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatter3d.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatter3d.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatter3d.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter3d.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scatter3d.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatter3d.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatter3d.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatter3d.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatter3d.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatter3d.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatter3d.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scatter3d.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scatter3d.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scatter3d.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatter3d.marker.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scatter3d.marker.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatter3d.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter3d.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.marker.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scatter3d.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scatter3d.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scatter3d.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatter3d.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scatter3d.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatter3d.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scatter3d.marker.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scatter3d.marker.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scatter3d.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scatter3d.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter3d.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter3d.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.marker.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scatter3d.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatter3d.marker.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatter3d.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter3d.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.marker",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scatter3d.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatter3d.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatter3d",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter3d.line",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scatter3d.line",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatter3d.line",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scatter3d.line",
            "edit_type": "calc",
            "values": [
                "dash",
                "dashdot",
                "dot",
                "longdash",
                "longdashdot",
                "solid"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatter3d.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatter3d.line.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scatter3d.line",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.line.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scatter3d.line.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scatter3d.line.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatter3d.line.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scatter3d.line.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatter3d.line.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.line.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.line.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter3d.line.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.line.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.line.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.line.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.line.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.line.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scatter3d.line.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.line.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scatter3d.line.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scatter3d.line.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatter3d.line.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scatter3d.line.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatter3d.line.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scatter3d.line.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.line.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scatter3d.line.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scatter3d.line.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scatter3d.line.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.line.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.line.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter3d.line.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter3d.line.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.line.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.line.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.line.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "scatter3d.line.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.line.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.line.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.line.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.line.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.line.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.line.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.line.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.line.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.line.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatter3d.line.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatter3d.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter3d.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.line",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "scatter3d.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatter3d.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatter3d.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatter3d.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatter3d.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatter3d.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scatter3d",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scatter3d",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scatter3d",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatter3d.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatter3d.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter3d.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter3d.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scatter3d",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scatter3d",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter3d.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scatter3d",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter3d.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scatter3d",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scatter3d",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scatter3d.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scatter3d.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatter3d.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatter3d.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter3d.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter3d.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatter3d.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatter3d.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scatter3d.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scatter3d",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter3d.error_z": {
        "params": {
            "plotly_name": "error_z",
            "parent_name": "scatter3d",
            "data_class_str": "ErrorZ",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.error_z.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_z.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.error_z.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_z.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_z.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.error_z.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.error_z.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.error_z.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_z.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.error_z.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.error_z.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.error_z.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "scatter3d.error_z",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.error_y": {
        "params": {
            "plotly_name": "error_y",
            "parent_name": "scatter3d",
            "data_class_str": "ErrorY",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.error_y.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_y.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.error_y.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_y.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_y.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.error_y.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.error_y.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.error_y.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_y.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.error_y.copy_zstyle": {
        "params": {
            "plotly_name": "copy_zstyle",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.error_y.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.error_y.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.error_y.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "scatter3d.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.error_x": {
        "params": {
            "plotly_name": "error_x",
            "parent_name": "scatter3d",
            "data_class_str": "ErrorX",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter3d.error_x.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_x.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.error_x.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_x.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_x.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter3d.error_x.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.error_x.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter3d.error_x.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter3d.error_x.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.error_x.copy_zstyle": {
        "params": {
            "plotly_name": "copy_zstyle",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter3d.error_x.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter3d.error_x.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.error_x.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "scatter3d.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter3d.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scatter3d",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter": {
        "params": {
            "plotly_name": "scatter",
            "parent_name": "",
            "data_class_str": "Scatter",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "scatter",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "scatter.yperiodalignment": {
        "params": {
            "plotly_name": "yperiodalignment",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.yperiod0": {
        "params": {
            "plotly_name": "yperiod0",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter.yperiod": {
        "params": {
            "plotly_name": "yperiod",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "scatter",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatter.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "scatter",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "scatter.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "scatter",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatter.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "scatter",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "scatter.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "scatter",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatter.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatter.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.unselected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "scatter",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatter.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "scatter.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "scatter",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "scatter",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatter",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatter",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter.stackgroup": {
        "params": {
            "plotly_name": "stackgroup",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter.stackgaps": {
        "params": {
            "plotly_name": "stackgaps",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                "infer zero",
                "interpolate"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "scatter",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "scatter.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "scatter",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "scatter.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatter.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.selected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.offsetgroup": {
        "params": {
            "plotly_name": "offsetgroup",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "scatter.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatter",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "scatter",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "lines",
                "markers",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "scatter",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "scatter.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "scatter",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "scatter.marker",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.standoff": {
        "params": {
            "plotly_name": "standoff",
            "parent_name": "scatter.marker",
            "anim": true,
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "scatter.marker",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "scatter.marker",
            "edit_type": "calc",
            "values": [
                "diameter",
                "area"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.sizemin": {
        "params": {
            "plotly_name": "sizemin",
            "parent_name": "scatter.marker",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.marker",
            "anim": true,
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "scatter.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatter.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "scatter.marker",
            "anim": true,
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.maxdisplayed": {
        "params": {
            "plotly_name": "maxdisplayed",
            "parent_name": "scatter.marker",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatter.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter.marker.line",
            "anim": true,
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "scatter.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scatter.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scatter.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatter.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatter.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatter.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.marker.line",
            "anim": true,
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scatter.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatter.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatter.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatter.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatter.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatter.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.gradient": {
        "params": {
            "plotly_name": "gradient",
            "parent_name": "scatter.marker",
            "data_class_str": "Gradient",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.marker.gradient.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatter.marker.gradient",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "radial",
                "horizontal",
                "vertical",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.gradient.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.marker.gradient",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatter.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "scatter.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "scatter.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "scatter.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "scatter.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatter.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "scatter.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatter.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "scatter.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "scatter.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "scatter.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatter.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "scatter.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "scatter.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "scatter.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "scatter.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "scatter.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "scatter.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "scatter.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatter.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "scatter.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "scatter.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatter.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "scatter.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.marker",
            "anim": true,
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "scatter.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "scatter.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "scatter.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "scatter.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "scatter.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "scatter.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "scatter.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "scatter.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "scatter.marker.angleref": {
        "params": {
            "plotly_name": "angleref",
            "parent_name": "scatter.marker",
            "anim": false,
            "edit_type": "plot",
            "values": [
                "previous",
                "up"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "scatter.marker",
            "anim": false,
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "scatter.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "scatter",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter.line",
            "anim": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.line.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "scatter.line",
            "edit_type": "plot",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.line.simplify": {
        "params": {
            "plotly_name": "simplify",
            "parent_name": "scatter.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.line.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "scatter.line",
            "edit_type": "plot",
            "values": [
                "linear",
                "spline",
                "hv",
                "vh",
                "hvh",
                "vhv"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "scatter.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "scatter.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.line",
            "anim": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.line.backoff": {
        "params": {
            "plotly_name": "backoff",
            "parent_name": "scatter.line",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "scatter",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "scatter",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "scatter.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "scatter",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "scatter.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatter.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "scatter",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "scatter",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "scatter.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "scatter",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "scatter",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "scatter.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "scatter",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatter.hoveron": {
        "params": {
            "plotly_name": "hoveron",
            "parent_name": "scatter",
            "edit_type": "style",
            "flags": [
                "points",
                "fills"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "scatter",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "scatter.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "scatter.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "scatter.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "scatter.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "scatter.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "scatter.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "scatter.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "scatter.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatter.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "scatter.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatter.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatter.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "scatter.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "scatter.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "scatter",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "scatter.groupnorm": {
        "params": {
            "plotly_name": "groupnorm",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                "",
                "fraction",
                "percent"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.fillpattern": {
        "params": {
            "plotly_name": "fillpattern",
            "parent_name": "scatter",
            "data_class_str": "Fillpattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.fillpattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "scatter.fillpattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.fillpattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "scatter.fillpattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.fillpattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "scatter.fillpattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.fillpattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "scatter.fillpattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "scatter.fillpattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "scatter.fillpattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.fillpattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "scatter.fillpattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.fillpattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "scatter.fillpattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.fillpattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "scatter.fillpattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.fillgradient": {
        "params": {
            "plotly_name": "fillgradient",
            "parent_name": "scatter",
            "data_class_str": "Fillgradient",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.fillgradient.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatter.fillgradient",
            "edit_type": "calc",
            "values": [
                "radial",
                "horizontal",
                "vertical",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.fillgradient.stop": {
        "params": {
            "plotly_name": "stop",
            "parent_name": "scatter.fillgradient",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter.fillgradient.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "scatter.fillgradient",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter.fillgradient.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "scatter.fillgradient",
            "edit_type": "style"
        },
        "superclass": "ColorscaleValidator"
    },
    "scatter.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "scatter",
            "edit_type": "calc",
            "values": [
                "none",
                "tozeroy",
                "tozerox",
                "tonexty",
                "tonextx",
                "toself",
                "tonext"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.error_y": {
        "params": {
            "plotly_name": "error_y",
            "parent_name": "scatter",
            "data_class_str": "ErrorY",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.error_y.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter.error_y",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.error_y.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatter.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.error_y.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "scatter.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.error_y.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatter.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.error_y.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatter.error_y",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.error_y.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "scatter.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter.error_y.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "scatter.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter.error_y.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatter.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.error_y.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "scatter.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.error_y.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.error_y",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.error_y.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "scatter.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.error_y.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "scatter.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.error_x": {
        "params": {
            "plotly_name": "error_x",
            "parent_name": "scatter",
            "data_class_str": "ErrorX",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "scatter.error_x.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "scatter.error_x",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.error_x.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "scatter.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.error_x.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "scatter.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.error_x.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "scatter.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.error_x.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "scatter.error_x",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "scatter.error_x.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "scatter.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter.error_x.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "scatter.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "scatter.error_x.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "scatter.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "scatter.error_x.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "scatter.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.error_x.copy_ystyle": {
        "params": {
            "plotly_name": "copy_ystyle",
            "parent_name": "scatter.error_x",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.error_x.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "scatter.error_x",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "scatter.error_x.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "scatter.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.error_x.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "scatter.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "scatter",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "scatter.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "scatter.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.cliponaxis": {
        "params": {
            "plotly_name": "cliponaxis",
            "parent_name": "scatter",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "scatter.alignmentgroup": {
        "params": {
            "plotly_name": "alignmentgroup",
            "parent_name": "scatter",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey": {
        "params": {
            "plotly_name": "sankey",
            "parent_name": "",
            "data_class_str": "Sankey",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "sankey",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.valuesuffix": {
        "params": {
            "plotly_name": "valuesuffix",
            "parent_name": "sankey",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.valueformat": {
        "params": {
            "plotly_name": "valueformat",
            "parent_name": "sankey",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "sankey",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "sankey.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "sankey",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "sankey.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "sankey",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sankey.textfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sankey.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sankey.textfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sankey.textfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sankey.textfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sankey.textfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sankey.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sankey.textfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sankey.textfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sankey.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sankey.textfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sankey.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.textfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "sankey",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "sankey.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "sankey",
            "edit_type": "calc",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.node": {
        "params": {
            "plotly_name": "node",
            "parent_name": "sankey",
            "data_class_str": "Node",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.node.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "sankey.node",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.node.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "sankey.node",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.node.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "sankey.node",
            "array_ok": false,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sankey.node.sort": {
        "params": {
            "plotly_name": "sort",
            "parent_name": "sankey.node",
            "edit_type": "calc",
            "values": [
                "auto",
                "input"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.node.pad": {
        "params": {
            "plotly_name": "pad",
            "parent_name": "sankey.node",
            "array_ok": false,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sankey.node.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "sankey.node",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.node.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "sankey.node.line",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sankey.node.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.node.line",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.node.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "sankey.node",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.node.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "sankey.node",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "sankey.node.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "sankey.node",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.node.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "sankey.node",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.node.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "sankey.node.hoverlabel",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "sankey.node.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "sankey.node.hoverlabel",
            "array_ok": true,
            "edit_type": "calc",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "sankey.node.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "sankey.node.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.node.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sankey.node.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.node.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.node.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.node.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sankey.node.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.node.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sankey.node.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sankey.node.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.node.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.node.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "sankey.node.hoverlabel",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.node.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "sankey.node.hoverlabel",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.node.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "sankey.node.hoverlabel",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.node.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "sankey.node",
            "edit_type": "calc",
            "values": [
                "all",
                "none",
                "skip"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.node.groups": {
        "params": {
            "plotly_name": "groups",
            "parent_name": "sankey.node",
            "dimensions": 2,
            "edit_type": "calc",
            "free_length": true,
            "implied_edits": {
                "x": [],
                "y": []
            },
            "items": {
                "editType": "calc",
                "valType": "number"
            }
        },
        "superclass": "InfoArrayValidator"
    },
    "sankey.node.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "sankey.node",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.node.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.node",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.node.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "sankey.node",
            "edit_type": "calc",
            "values": [
                "justify",
                "left",
                "right",
                "center"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "sankey",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "sankey.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "sankey",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "sankey.link": {
        "params": {
            "plotly_name": "link",
            "parent_name": "sankey",
            "data_class_str": "Link",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.link.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "sankey.link",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.link.target": {
        "params": {
            "plotly_name": "target",
            "parent_name": "sankey.link",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.link.source": {
        "params": {
            "plotly_name": "source",
            "parent_name": "sankey.link",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.link.sort": {
        "params": {
            "plotly_name": "sort",
            "parent_name": "sankey.link",
            "edit_type": "calc",
            "values": [
                "auto",
                "input"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.link.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "sankey.link",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.link.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "sankey.link.line",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sankey.link.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.link.line",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.link.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "sankey.link",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.link.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "sankey.link",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "sankey.link.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "sankey.link",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.link.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "sankey.link",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.link.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "sankey.link.hoverlabel",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "sankey.link.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "sankey.link.hoverlabel",
            "array_ok": true,
            "edit_type": "calc",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "sankey.link.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "sankey.link.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.link.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sankey.link.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.link.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.link.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.link.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sankey.link.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.link.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sankey.link.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sankey.link.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.link.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.link.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "sankey.link.hoverlabel",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.link.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "sankey.link.hoverlabel",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.link.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "sankey.link.hoverlabel",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.link.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "sankey.link",
            "edit_type": "calc",
            "values": [
                "all",
                "none",
                "skip"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.link.hovercolor": {
        "params": {
            "plotly_name": "hovercolor",
            "parent_name": "sankey.link",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.link.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "sankey.link",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.link.colorscaledefaults": {
        "params": {
            "plotly_name": "colorscaledefaults",
            "parent_name": "sankey.link",
            "data_class_str": "Colorscale",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.link.colorscales": {
        "params": {
            "plotly_name": "colorscales",
            "parent_name": "sankey.link",
            "data_class_str": "Colorscale",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "sankey.link.colorscale.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "sankey.link.colorscale",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.link.colorscale.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "sankey.link.colorscale",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.link.colorscale.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "sankey.link.colorscale",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.link.colorscale.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "sankey.link.colorscale",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "sankey.link.colorscale.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "sankey.link.colorscale",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "sankey.link.colorscale.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "sankey.link.colorscale",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "sankey.link.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.link",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.link.arrowlen": {
        "params": {
            "plotly_name": "arrowlen",
            "parent_name": "sankey.link",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sankey.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "sankey",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "sankey.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "sankey",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "sankey.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "sankey",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "sankey.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "sankey.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "sankey.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sankey.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sankey.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "sankey.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sankey.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sankey.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "sankey.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "sankey",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "sankey.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "sankey",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "sankey",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "sankey.hoverlabel",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "sankey.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "sankey.hoverlabel",
            "array_ok": true,
            "edit_type": "calc",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "sankey.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "sankey.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "sankey.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "sankey.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "sankey.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "sankey.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "sankey.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "sankey.hoverlabel.font",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "sankey.hoverlabel",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "sankey.hoverlabel",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "sankey.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "sankey.hoverlabel",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "sankey",
            "array_ok": false,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": []
        },
        "superclass": "FlaglistValidator"
    },
    "sankey.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "sankey",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "sankey.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "sankey.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "sankey.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "sankey.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "sankey.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "sankey.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "sankey.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "sankey.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "sankey.direction": {
        "params": {
            "plotly_name": "direction",
            "parent_name": "sankey",
            "edit_type": "calc",
            "values": [
                "forward",
                "reversed"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "sankey.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "sankey",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "sankey.arrangement": {
        "params": {
            "plotly_name": "arrangement",
            "parent_name": "sankey",
            "edit_type": "calc",
            "values": [
                "snap",
                "perpendicular",
                "freeform",
                "fixed"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver": {
        "params": {
            "plotly_name": "quiver",
            "parent_name": "",
            "data_class_str": "Quiver",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "quiver",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "quiver.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "quiver",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "quiver.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "quiver.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "quiver.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "quiver",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "quiver.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "quiver",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "quiver.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "quiver.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "quiver.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "quiver",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.vhoverformat": {
        "params": {
            "plotly_name": "vhoverformat",
            "parent_name": "quiver",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "quiver.v": {
        "params": {
            "plotly_name": "v",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "quiver.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "quiver",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "quiver.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "quiver.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "quiver.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.unselected.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "quiver.unselected.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.unselected.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "quiver.unselected.marker.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "quiver.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "quiver",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "quiver.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "quiver.uhoverformat": {
        "params": {
            "plotly_name": "uhoverformat",
            "parent_name": "quiver",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "quiver.u": {
        "params": {
            "plotly_name": "u",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "quiver.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "quiver",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "quiver",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "quiver.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "quiver.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "quiver.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "quiver.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "quiver.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "quiver.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "quiver",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "quiver.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "quiver",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "quiver.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "quiver",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "quiver.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "quiver",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "quiver.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "quiver.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "quiver.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.selected.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "quiver.selected.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.selected.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "quiver.selected.marker.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "quiver.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "quiver",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "quiver",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "quiver.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "quiver",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "quiver.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "quiver",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "quiver.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "quiver.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "quiver.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "quiver.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "quiver.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "quiver.marker.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "quiver.marker.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "quiver.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "quiver.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "quiver.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "quiver.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "quiver.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "quiver.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "quiver.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "quiver.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "quiver.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "quiver.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "quiver.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "quiver.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "quiver.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "quiver.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "quiver.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "quiver.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "quiver.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "quiver.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "quiver.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "quiver.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "quiver.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "quiver.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "quiver.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "quiver.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "quiver.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "quiver.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "quiver.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "quiver.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "quiver.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "quiver.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "quiver.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "quiver.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "quiver.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "quiver.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "quiver.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "quiver.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "quiver.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "quiver.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "quiver.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "quiver.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "quiver.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "quiver.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "quiver.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "quiver.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.marker",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "quiver.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "quiver.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "quiver.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "quiver.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "quiver.marker",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "quiver.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "quiver.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "quiver.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "quiver.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "quiver.marker.arrowsize": {
        "params": {
            "plotly_name": "arrowsize",
            "parent_name": "quiver.marker",
            "edit_type": "calc",
            "min": 0.3
        },
        "superclass": "NumberValidator"
    },
    "quiver.lengthmode": {
        "params": {
            "plotly_name": "lengthmode",
            "parent_name": "quiver",
            "edit_type": "calc",
            "values": [
                "scaled",
                "raw"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.lengthfactor": {
        "params": {
            "plotly_name": "lengthfactor",
            "parent_name": "quiver",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "quiver",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "quiver.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "quiver",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "quiver.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "quiver",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "quiver.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "quiver.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "quiver.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "quiver.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "quiver.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "quiver.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "quiver.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "quiver.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "quiver.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "quiver",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "quiver.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "quiver",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "quiver.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "quiver.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "quiver",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "quiver.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "quiver",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "quiver.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "quiver.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "quiver.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "quiver.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "quiver.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "quiver.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "quiver.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "quiver.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "quiver.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "quiver.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "quiver.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "quiver.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "quiver.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "quiver.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "quiver.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "quiver.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "quiver.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "quiver.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "quiver",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "u",
                "v",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "quiver.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "quiver.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "quiver",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "quiver.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "quiver",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "quiver.arrowref": {
        "params": {
            "plotly_name": "arrowref",
            "parent_name": "quiver",
            "edit_type": "calc",
            "values": [
                "paper",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "quiver.anchor": {
        "params": {
            "plotly_name": "anchor",
            "parent_name": "quiver",
            "edit_type": "calc",
            "values": [
                "tip",
                "tail",
                "center"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie": {
        "params": {
            "plotly_name": "pie",
            "parent_name": "",
            "data_class_str": "Pie",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "pie",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "pie.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "pie",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "pie.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "pie",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "pie.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "pie",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "pie.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "pie.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "pie.title.position": {
        "params": {
            "plotly_name": "position",
            "parent_name": "pie.title",
            "edit_type": "plot",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle center",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "pie.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "pie.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "pie.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "pie.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "pie.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "pie.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "pie.title.font",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "pie.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "pie",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "pie.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "pie.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "inside",
                "outside",
                "auto",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.textinfo": {
        "params": {
            "plotly_name": "textinfo",
            "parent_name": "pie",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "percent"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "pie.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "pie",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "pie.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "pie.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "pie.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "pie.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "pie.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "pie.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "pie.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "pie",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "pie.sort": {
        "params": {
            "plotly_name": "sort",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "pie.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "pie.scalegroup": {
        "params": {
            "plotly_name": "scalegroup",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "pie.rotation": {
        "params": {
            "plotly_name": "rotation",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "pie.pull": {
        "params": {
            "plotly_name": "pull",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "pie.outsidetextfont": {
        "params": {
            "plotly_name": "outsidetextfont",
            "parent_name": "pie",
            "data_class_str": "Outsidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.outsidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "pie.outsidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.outsidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.outsidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.outsidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "pie.outsidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "pie.outsidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "pie.outsidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "pie.outsidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "pie.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "pie.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "pie",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "pie.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "pie",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "pie.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "pie.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "pie",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.marker.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "pie.marker",
            "data_class_str": "Pattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.marker.pattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "pie.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "pie.marker.pattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "pie.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "pie.marker.pattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "pie.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.marker.pattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "pie.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "pie.marker.pattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "pie.marker.pattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.marker.pattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "pie.marker.pattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "pie.marker.pattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "pie.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "pie.marker.pattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "pie.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "pie.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "pie.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "pie.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "pie.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "pie.marker.line",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "pie.marker.colors": {
        "params": {
            "plotly_name": "colors",
            "parent_name": "pie.marker",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "pie.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "pie",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "pie.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "pie.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "pie",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "pie.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "pie.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "pie.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "pie.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "pie.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "pie.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "pie.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "pie.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "pie.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "pie.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "pie",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "pie.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "pie",
            "array_ok": true,
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "pie.labels": {
        "params": {
            "plotly_name": "labels",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "pie.label0": {
        "params": {
            "plotly_name": "label0",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "pie.insidetextorientation": {
        "params": {
            "plotly_name": "insidetextorientation",
            "parent_name": "pie",
            "edit_type": "plot",
            "values": [
                "horizontal",
                "radial",
                "tangential",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "pie",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "pie.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "pie.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "pie.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "pie.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "pie.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "pie.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "pie.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "pie.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "pie.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "pie",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "pie.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "pie.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "pie",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "pie.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "pie.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "pie.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "pie.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "pie.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "pie.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "pie.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "pie.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "pie.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "pie.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "pie.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "pie.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "pie.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "pie.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "pie.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "pie.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "pie.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "pie",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "percent",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "pie.hole": {
        "params": {
            "plotly_name": "hole",
            "parent_name": "pie",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "pie.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "pie",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "pie.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "pie.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "pie.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "pie.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "pie.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "pie.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "pie.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "pie.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "pie.dlabel": {
        "params": {
            "plotly_name": "dlabel",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "pie.direction": {
        "params": {
            "plotly_name": "direction",
            "parent_name": "pie",
            "edit_type": "calc",
            "values": [
                "clockwise",
                "counterclockwise"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "pie.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "pie",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "pie.automargin": {
        "params": {
            "plotly_name": "automargin",
            "parent_name": "pie",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "parcoords": {
        "params": {
            "plotly_name": "parcoords",
            "parent_name": "",
            "data_class_str": "Parcoords",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "parcoords",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "parcoords",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.unselected.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "parcoords.unselected",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.unselected.line.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "parcoords.unselected.line",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.unselected.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcoords.unselected.line",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "parcoords",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "parcoords.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "parcoords",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcoords.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "parcoords",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcoords.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcoords.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcoords.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcoords.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcoords.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.rangefont": {
        "params": {
            "plotly_name": "rangefont",
            "parent_name": "parcoords",
            "data_class_str": "Rangefont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.rangefont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.rangefont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.rangefont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.rangefont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.rangefont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcoords.rangefont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcoords.rangefont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcoords.rangefont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcoords.rangefont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcoords.rangefont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "parcoords",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "parcoords.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "parcoords",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "parcoords.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "parcoords",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.line.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "parcoords.line",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "parcoords.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "parcoords.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "parcoords.line.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "parcoords.line",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.line.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "parcoords.line.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "parcoords.line.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "parcoords.line.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "parcoords.line.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "parcoords.line.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.line.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.line.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcoords.line.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcoords.line.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.line.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "parcoords.line.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "parcoords.line.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.line.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "parcoords.line.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.line.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "parcoords.line.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "parcoords.line.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "parcoords.line.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "parcoords.line.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "parcoords.line.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "parcoords.line.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.line.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "parcoords.line.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "parcoords.line.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "parcoords.line.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.line.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.line.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcoords.line.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcoords.line.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcoords.line.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.line.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.line.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "parcoords.line.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "parcoords.line.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.line.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.line.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.line.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.line.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "parcoords.line.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.line.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "parcoords.line.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.line.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "parcoords.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "parcoords.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "parcoords.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcoords.line",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "parcoords.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "parcoords.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "parcoords.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "parcoords.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "parcoords.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "parcoords.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "parcoords.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "parcoords",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcoords.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "parcoords",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "parcoords.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "parcoords",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "parcoords.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "parcoords.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "parcoords.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcoords.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "parcoords.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcoords.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcoords.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcoords.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "parcoords",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "parcoords.labelside": {
        "params": {
            "plotly_name": "labelside",
            "parent_name": "parcoords",
            "edit_type": "plot",
            "values": [
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.labelfont": {
        "params": {
            "plotly_name": "labelfont",
            "parent_name": "parcoords",
            "data_class_str": "Labelfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.labelfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.labelfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.labelfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.labelfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcoords.labelfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcoords.labelfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcoords.labelfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcoords.labelfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcoords.labelfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcoords.labelfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "parcoords.labelangle": {
        "params": {
            "plotly_name": "labelangle",
            "parent_name": "parcoords",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "parcoords.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "parcoords",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "parcoords.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "parcoords",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "parcoords.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "parcoords.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "parcoords.domain",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "parcoords.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "parcoords.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "parcoords.domain",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "parcoords.dimensiondefaults": {
        "params": {
            "plotly_name": "dimensiondefaults",
            "parent_name": "parcoords",
            "data_class_str": "Dimension",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcoords.dimensions": {
        "params": {
            "plotly_name": "dimensions",
            "parent_name": "parcoords",
            "data_class_str": "Dimension",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "parcoords.dimension.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "parcoords.dimension",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.dimension.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "parcoords.dimension",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "parcoords.dimension.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "parcoords.dimension",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "parcoords.dimension.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "parcoords.dimension",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "parcoords.dimension.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "parcoords.dimension",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcoords.dimension.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "parcoords.dimension",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "parcoords.dimension.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "parcoords.dimension",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "parcoords.dimension.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "parcoords.dimension",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "parcoords.dimension.multiselect": {
        "params": {
            "plotly_name": "multiselect",
            "parent_name": "parcoords.dimension",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "parcoords.dimension.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "parcoords.dimension",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcoords.dimension.constraintrange": {
        "params": {
            "plotly_name": "constraintrange",
            "parent_name": "parcoords.dimension",
            "dimensions": "1-2",
            "edit_type": "plot",
            "free_length": true,
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "parcoords.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "parcoords",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "parcats": {
        "params": {
            "plotly_name": "parcats",
            "parent_name": "",
            "data_class_str": "Parcats",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "parcats",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "parcats",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "parcats.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "parcats",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcats.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "parcats",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcats.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcats.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "parcats.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcats.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcats.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcats.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "parcats.sortpaths": {
        "params": {
            "plotly_name": "sortpaths",
            "parent_name": "parcats",
            "edit_type": "plot",
            "values": [
                "forward",
                "backward"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "parcats",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "parcats.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "parcats",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "parcats.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "parcats",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.line.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "parcats.line",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "parcats.line.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "parcats.line",
            "edit_type": "plot",
            "values": [
                "linear",
                "hspline"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "parcats.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "parcats.line.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "parcats.line",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "parcats.line.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "parcats.line",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "parcats.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "parcats.line.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "parcats.line",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.line.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "parcats.line.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "parcats.line.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "parcats.line.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "parcats.line.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "parcats.line.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.line.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcats.line.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcats.line.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcats.line.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcats.line.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "parcats.line.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "parcats.line.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcats.line.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "parcats.line.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.line.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "parcats.line.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "parcats.line.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "parcats.line.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "parcats.line.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "parcats.line.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "parcats.line.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "parcats.line.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "parcats.line.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "parcats.line.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "parcats.line.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.line.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcats.line.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcats.line.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcats.line.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcats.line.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcats.line.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcats.line.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "parcats.line.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "parcats.line.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "parcats.line.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "parcats.line.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcats.line.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "parcats.line.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "parcats.line.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.line.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "parcats.line.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcats.line.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "parcats.line.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "parcats.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "parcats.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "parcats.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcats.line",
            "array_ok": true,
            "edit_type": "calc",
            "colorscale_path": "parcats.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "parcats.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "parcats.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "parcats.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "parcats.line",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "parcats.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "parcats.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "parcats.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "parcats.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "parcats.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "parcats",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "parcats",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "parcats.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "parcats.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "parcats.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcats.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcats.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "parcats.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcats.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcats.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcats.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "parcats.labelfont": {
        "params": {
            "plotly_name": "labelfont",
            "parent_name": "parcats",
            "data_class_str": "Labelfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.labelfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "parcats.labelfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.labelfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.labelfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.labelfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "parcats.labelfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "parcats.labelfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcats.labelfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "parcats.labelfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "parcats.labelfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "parcats.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "parcats",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "parcats.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "parcats",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "parcats.hoveron": {
        "params": {
            "plotly_name": "hoveron",
            "parent_name": "parcats",
            "edit_type": "plot",
            "values": [
                "category",
                "color",
                "dimension"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "parcats",
            "array_ok": false,
            "edit_type": "plot",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "count",
                "probability"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "parcats.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "parcats",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "parcats.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "parcats.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "parcats.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "parcats.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "parcats.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "parcats.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "parcats.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "parcats.dimensiondefaults": {
        "params": {
            "plotly_name": "dimensiondefaults",
            "parent_name": "parcats",
            "data_class_str": "Dimension",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "parcats.dimensions": {
        "params": {
            "plotly_name": "dimensions",
            "parent_name": "parcats",
            "data_class_str": "Dimension",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "parcats.dimension.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "parcats.dimension",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "parcats.dimension.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "parcats.dimension",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "parcats.dimension.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "parcats.dimension",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "parcats.dimension.label": {
        "params": {
            "plotly_name": "label",
            "parent_name": "parcats.dimension",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "parcats.dimension.displayindex": {
        "params": {
            "plotly_name": "displayindex",
            "parent_name": "parcats.dimension",
            "edit_type": "calc"
        },
        "superclass": "IntegerValidator"
    },
    "parcats.dimension.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "parcats.dimension",
            "edit_type": "calc",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "parcats.dimension.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "parcats.dimension",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "parcats.counts": {
        "params": {
            "plotly_name": "counts",
            "parent_name": "parcats",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "parcats.bundlecolors": {
        "params": {
            "plotly_name": "bundlecolors",
            "parent_name": "parcats",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "parcats.arrangement": {
        "params": {
            "plotly_name": "arrangement",
            "parent_name": "parcats",
            "edit_type": "plot",
            "values": [
                "perpendicular",
                "freeform",
                "fixed"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc": {
        "params": {
            "plotly_name": "ohlc",
            "parent_name": "",
            "data_class_str": "Ohlc",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "ohlc",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "ohlc.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "ohlc",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "ohlc.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "ohlc",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "ohlc.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "ohlc",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "ohlc.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "ohlc.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "ohlc",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "ohlc.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "ohlc",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "ohlc",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "ohlc.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "ohlc",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "ohlc.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "ohlc",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "ohlc",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "ohlc.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "ohlc",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "ohlc.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "ohlc",
            "edit_type": "calc",
            "max": 0.5,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "ohlc.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "ohlc",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "ohlc.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "ohlc",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "ohlc.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "ohlc.open": {
        "params": {
            "plotly_name": "open",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "ohlc.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "ohlc",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "ohlc.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "ohlc",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "ohlc.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "ohlc",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "ohlc.low": {
        "params": {
            "plotly_name": "low",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "ohlc.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "ohlc",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "ohlc.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "ohlc.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "ohlc.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "ohlc.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "ohlc",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "ohlc.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "ohlc",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "ohlc.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "ohlc",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "ohlc.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "ohlc.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "ohlc.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "ohlc.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "ohlc.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "ohlc.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "ohlc.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "ohlc.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "ohlc.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "ohlc.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "ohlc",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "ohlc.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "ohlc",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "ohlc.increasing": {
        "params": {
            "plotly_name": "increasing",
            "parent_name": "ohlc",
            "data_class_str": "Increasing",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.increasing.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "ohlc.increasing",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.increasing.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "ohlc.increasing.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "ohlc.increasing.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "ohlc.increasing.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "ohlc.increasing.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "ohlc.increasing.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "ohlc.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "ohlc.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "ohlc",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "ohlc.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "ohlc",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "ohlc.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "ohlc",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "ohlc.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "ohlc",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.hoverlabel.split": {
        "params": {
            "plotly_name": "split",
            "parent_name": "ohlc.hoverlabel",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "ohlc.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "ohlc.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "ohlc.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "ohlc.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "ohlc.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "ohlc.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "ohlc.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "ohlc.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "ohlc.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "ohlc.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "ohlc.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "ohlc.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "ohlc.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "ohlc.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "ohlc.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "ohlc.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "ohlc.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "ohlc.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "ohlc.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "ohlc",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "ohlc.high": {
        "params": {
            "plotly_name": "high",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "ohlc.decreasing": {
        "params": {
            "plotly_name": "decreasing",
            "parent_name": "ohlc",
            "data_class_str": "Decreasing",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.decreasing.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "ohlc.decreasing",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "ohlc.decreasing.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "ohlc.decreasing.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "ohlc.decreasing.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "ohlc.decreasing.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "ohlc.decreasing.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "ohlc.decreasing.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "ohlc.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "ohlc.close": {
        "params": {
            "plotly_name": "close",
            "parent_name": "ohlc",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d": {
        "params": {
            "plotly_name": "mesh3d",
            "parent_name": "",
            "data_class_str": "Mesh3d",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "mesh3d",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.zcalendar": {
        "params": {
            "plotly_name": "zcalendar",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "mesh3d",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "mesh3d",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "mesh3d",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "mesh3d",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "mesh3d",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.vertexcolor": {
        "params": {
            "plotly_name": "vertexcolor",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "mesh3d",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "mesh3d.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "mesh3d",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "mesh3d",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "mesh3d",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.scene": {
        "params": {
            "plotly_name": "scene",
            "parent_name": "mesh3d",
            "dflt": "scene",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "mesh3d.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "mesh3d",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "mesh3d",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "mesh3d",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "mesh3d.lightposition": {
        "params": {
            "plotly_name": "lightposition",
            "parent_name": "mesh3d",
            "data_class_str": "Lightposition",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.lightposition.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "mesh3d.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lightposition.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "mesh3d.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lightposition.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "mesh3d.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lighting": {
        "params": {
            "plotly_name": "lighting",
            "parent_name": "mesh3d",
            "data_class_str": "Lighting",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.lighting.vertexnormalsepsilon": {
        "params": {
            "plotly_name": "vertexnormalsepsilon",
            "parent_name": "mesh3d.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lighting.specular": {
        "params": {
            "plotly_name": "specular",
            "parent_name": "mesh3d.lighting",
            "edit_type": "calc",
            "max": 2,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lighting.roughness": {
        "params": {
            "plotly_name": "roughness",
            "parent_name": "mesh3d.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lighting.fresnel": {
        "params": {
            "plotly_name": "fresnel",
            "parent_name": "mesh3d.lighting",
            "edit_type": "calc",
            "max": 5,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lighting.facenormalsepsilon": {
        "params": {
            "plotly_name": "facenormalsepsilon",
            "parent_name": "mesh3d.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lighting.diffuse": {
        "params": {
            "plotly_name": "diffuse",
            "parent_name": "mesh3d.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.lighting.ambient": {
        "params": {
            "plotly_name": "ambient",
            "parent_name": "mesh3d.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "mesh3d",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "mesh3d",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "mesh3d",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "mesh3d.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "mesh3d.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "mesh3d.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "mesh3d.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "mesh3d.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "mesh3d.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "mesh3d",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "mesh3d",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "mesh3d.k": {
        "params": {
            "plotly_name": "k",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.j": {
        "params": {
            "plotly_name": "j",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.intensitymode": {
        "params": {
            "plotly_name": "intensitymode",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "values": [
                "vertex",
                "cell"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.intensity": {
        "params": {
            "plotly_name": "intensity",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.i": {
        "params": {
            "plotly_name": "i",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "mesh3d",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "mesh3d.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "mesh3d",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "mesh3d",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "mesh3d.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "mesh3d.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "mesh3d.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "mesh3d.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "mesh3d.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "mesh3d.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "mesh3d.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "mesh3d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "mesh3d.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "mesh3d.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "mesh3d.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "mesh3d",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "mesh3d.flatshading": {
        "params": {
            "plotly_name": "flatshading",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.facecolor": {
        "params": {
            "plotly_name": "facecolor",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.delaunayaxis": {
        "params": {
            "plotly_name": "delaunayaxis",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "values": [
                "x",
                "y",
                "z"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.contour": {
        "params": {
            "plotly_name": "contour",
            "parent_name": "mesh3d",
            "data_class_str": "Contour",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.contour.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "mesh3d.contour",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.contour.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "mesh3d.contour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.contour.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "mesh3d.contour",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "mesh3d.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "mesh3d",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "mesh3d.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "mesh3d.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "mesh3d.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "mesh3d.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "mesh3d.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "mesh3d.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "mesh3d.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "mesh3d.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "mesh3d.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "mesh3d.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "mesh3d.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "mesh3d.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "mesh3d.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "mesh3d.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "mesh3d.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "mesh3d.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "mesh3d.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "mesh3d.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "mesh3d.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "mesh3d.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "mesh3d.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "mesh3d.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "mesh3d.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "mesh3d.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "mesh3d.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "mesh3d.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "mesh3d.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "mesh3d.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "mesh3d.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "mesh3d.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "mesh3d.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "mesh3d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "mesh3d",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "mesh3d.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "colorscale_path": "mesh3d.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "mesh3d.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "mesh3d.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "mesh3d",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "mesh3d.alphahull": {
        "params": {
            "plotly_name": "alphahull",
            "parent_name": "mesh3d",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "isosurface": {
        "params": {
            "plotly_name": "isosurface",
            "parent_name": "",
            "data_class_str": "Isosurface",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "isosurface",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "isosurface",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "isosurface",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "isosurface",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.valuehoverformat": {
        "params": {
            "plotly_name": "valuehoverformat",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "isosurface",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "isosurface",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "isosurface.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "isosurface",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "isosurface.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "isosurface",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.surface": {
        "params": {
            "plotly_name": "surface",
            "parent_name": "isosurface",
            "data_class_str": "Surface",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.surface.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.surface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.surface.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "isosurface.surface",
            "edit_type": "calc",
            "extras": [
                "all",
                "odd",
                "even"
            ],
            "flags": [
                "A",
                "B",
                "C",
                "D",
                "E"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "isosurface.surface.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "isosurface.surface",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.surface.count": {
        "params": {
            "plotly_name": "count",
            "parent_name": "isosurface.surface",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "isosurface.spaceframe": {
        "params": {
            "plotly_name": "spaceframe",
            "parent_name": "isosurface",
            "data_class_str": "Spaceframe",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.spaceframe.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.spaceframe",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.spaceframe.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "isosurface.spaceframe",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.slices": {
        "params": {
            "plotly_name": "slices",
            "parent_name": "isosurface",
            "data_class_str": "Slices",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.slices.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "isosurface.slices",
            "data_class_str": "Z",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.slices.z.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.slices.z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.slices.z.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "isosurface.slices.z",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.slices.z.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "isosurface.slices.z",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.slices.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "isosurface.slices",
            "data_class_str": "Y",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.slices.y.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.slices.y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.slices.y.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "isosurface.slices.y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.slices.y.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "isosurface.slices.y",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.slices.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "isosurface.slices",
            "data_class_str": "X",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.slices.x.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.slices.x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.slices.x.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "isosurface.slices.x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.slices.x.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "isosurface.slices.x",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.scene": {
        "params": {
            "plotly_name": "scene",
            "parent_name": "isosurface",
            "dflt": "scene",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "isosurface.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "isosurface",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "isosurface",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "isosurface.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "isosurface",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "isosurface.lightposition": {
        "params": {
            "plotly_name": "lightposition",
            "parent_name": "isosurface",
            "data_class_str": "Lightposition",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.lightposition.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "isosurface.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lightposition.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "isosurface.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lightposition.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "isosurface.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lighting": {
        "params": {
            "plotly_name": "lighting",
            "parent_name": "isosurface",
            "data_class_str": "Lighting",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.lighting.vertexnormalsepsilon": {
        "params": {
            "plotly_name": "vertexnormalsepsilon",
            "parent_name": "isosurface.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lighting.specular": {
        "params": {
            "plotly_name": "specular",
            "parent_name": "isosurface.lighting",
            "edit_type": "calc",
            "max": 2,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lighting.roughness": {
        "params": {
            "plotly_name": "roughness",
            "parent_name": "isosurface.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lighting.fresnel": {
        "params": {
            "plotly_name": "fresnel",
            "parent_name": "isosurface.lighting",
            "edit_type": "calc",
            "max": 5,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lighting.facenormalsepsilon": {
        "params": {
            "plotly_name": "facenormalsepsilon",
            "parent_name": "isosurface.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lighting.diffuse": {
        "params": {
            "plotly_name": "diffuse",
            "parent_name": "isosurface.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.lighting.ambient": {
        "params": {
            "plotly_name": "ambient",
            "parent_name": "isosurface.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "isosurface",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "isosurface",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "isosurface.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "isosurface",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "isosurface.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "isosurface.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "isosurface.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "isosurface.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "isosurface.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "isosurface.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "isosurface.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "isosurface.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "isosurface.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "isosurface",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "isosurface.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "isosurface",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "isosurface.isomin": {
        "params": {
            "plotly_name": "isomin",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "isosurface.isomax": {
        "params": {
            "plotly_name": "isomax",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "isosurface.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "isosurface",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "isosurface.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "isosurface",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "isosurface",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "isosurface.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "isosurface.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "isosurface.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "isosurface.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "isosurface.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "isosurface.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "isosurface.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "isosurface.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "isosurface.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "isosurface.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "isosurface.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "isosurface.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "isosurface.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "isosurface",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "isosurface.flatshading": {
        "params": {
            "plotly_name": "flatshading",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "isosurface",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.contour": {
        "params": {
            "plotly_name": "contour",
            "parent_name": "isosurface",
            "data_class_str": "Contour",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.contour.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "isosurface.contour",
            "edit_type": "calc",
            "max": 16,
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "isosurface.contour.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.contour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.contour.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "isosurface.contour",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "isosurface",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "isosurface.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "isosurface",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "isosurface.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "isosurface.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "isosurface.colorbar.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "isosurface.colorbar.title",
            "edit_type": "calc",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "isosurface.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "isosurface.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "isosurface.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "isosurface.colorbar.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "isosurface.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "isosurface.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "isosurface.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "isosurface.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "isosurface.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "isosurface.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "isosurface.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "isosurface.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "isosurface.colorbar.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "isosurface.colorbar.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "isosurface.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "isosurface.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "isosurface.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "isosurface.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "isosurface.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "isosurface.colorbar.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "isosurface.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "isosurface.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "isosurface.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "isosurface.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "isosurface.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "isosurface.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "isosurface.colorbar",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "isosurface.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "isosurface",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "isosurface.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "isosurface",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "isosurface.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "isosurface",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "isosurface.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "isosurface",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "isosurface.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "isosurface",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.caps": {
        "params": {
            "plotly_name": "caps",
            "parent_name": "isosurface",
            "data_class_str": "Caps",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.caps.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "isosurface.caps",
            "data_class_str": "Z",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.caps.z.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.caps.z",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.caps.z.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "isosurface.caps.z",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.caps.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "isosurface.caps",
            "data_class_str": "Y",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.caps.y.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.caps.y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.caps.y.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "isosurface.caps.y",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.caps.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "isosurface.caps",
            "data_class_str": "X",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "isosurface.caps.x.show": {
        "params": {
            "plotly_name": "show",
            "parent_name": "isosurface.caps.x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "isosurface.caps.x.fill": {
        "params": {
            "plotly_name": "fill",
            "parent_name": "isosurface.caps.x",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "isosurface.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "isosurface",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "indicator": {
        "params": {
            "plotly_name": "indicator",
            "parent_name": "",
            "data_class_str": "Indicator",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "indicator",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "indicator",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "indicator.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "indicator",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "indicator.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "indicator",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "indicator",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "indicator.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "indicator.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "indicator.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "indicator.title.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "indicator.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "indicator.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "indicator.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "indicator.title.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "indicator.title.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "indicator.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "indicator.title.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "indicator.title.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "indicator.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "indicator.title.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "indicator.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.title.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.title.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "indicator.title",
            "edit_type": "plot",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.number": {
        "params": {
            "plotly_name": "number",
            "parent_name": "indicator",
            "data_class_str": "Number",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.number.valueformat": {
        "params": {
            "plotly_name": "valueformat",
            "parent_name": "indicator.number",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.number.suffix": {
        "params": {
            "plotly_name": "suffix",
            "parent_name": "indicator.number",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.number.prefix": {
        "params": {
            "plotly_name": "prefix",
            "parent_name": "indicator.number",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.number.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "indicator.number",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.number.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "indicator.number.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "indicator.number.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "indicator.number.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.number.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "indicator.number.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.number.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "indicator.number.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.number.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "indicator.number.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "indicator.number.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "indicator.number.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.number.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "indicator.number.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "indicator.number.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "indicator.number.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "indicator.number.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.number.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "indicator",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "indicator.mode": {
        "params": {
            "plotly_name": "mode",
            "parent_name": "indicator",
            "edit_type": "calc",
            "flags": [
                "number",
                "delta",
                "gauge"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "indicator.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "indicator",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "indicator.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "indicator",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "indicator",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "indicator.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "indicator",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "indicator.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "indicator.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "indicator.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "indicator.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "indicator.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "indicator.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "indicator.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "indicator.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "indicator.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "indicator",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "indicator.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "indicator",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "indicator.gauge": {
        "params": {
            "plotly_name": "gauge",
            "parent_name": "indicator",
            "data_class_str": "Gauge",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.threshold": {
        "params": {
            "plotly_name": "threshold",
            "parent_name": "indicator.gauge",
            "data_class_str": "Threshold",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.threshold.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "indicator.gauge.threshold",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.threshold.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "indicator.gauge.threshold",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.threshold.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "indicator.gauge.threshold",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.threshold.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "indicator.gauge.threshold.line",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.threshold.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.gauge.threshold.line",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.stepdefaults": {
        "params": {
            "plotly_name": "stepdefaults",
            "parent_name": "indicator.gauge",
            "data_class_str": "Step",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.steps": {
        "params": {
            "plotly_name": "steps",
            "parent_name": "indicator.gauge",
            "data_class_str": "Step",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "indicator.gauge.step.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "indicator.gauge.step",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.step.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "indicator.gauge.step",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.step.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "indicator.gauge.step",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "indicator.gauge.step.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "indicator.gauge.step",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.step.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "indicator.gauge.step",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.step.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "indicator.gauge.step.line",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.step.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.gauge.step.line",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.step.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.gauge.step",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "indicator.gauge",
            "edit_type": "plot",
            "values": [
                "angular",
                "bullet"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "indicator.gauge",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "indicator.gauge",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "indicator.gauge",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.bar": {
        "params": {
            "plotly_name": "bar",
            "parent_name": "indicator.gauge",
            "data_class_str": "Bar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.bar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "indicator.gauge.bar",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.bar.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "indicator.gauge.bar",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.bar.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "indicator.gauge.bar.line",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.bar.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.gauge.bar.line",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.bar.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.gauge.bar",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.axis": {
        "params": {
            "plotly_name": "axis",
            "parent_name": "indicator.gauge",
            "data_class_str": "Axis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.axis.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "indicator.gauge.axis.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.axis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "indicator.gauge.axis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "indicator.gauge.axis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.axis.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.axis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.axis.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "indicator.gauge.axis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "indicator.gauge.axis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.axis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "indicator.gauge.axis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "indicator.gauge.axis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "indicator.gauge.axis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.axis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "indicator.gauge.axis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.axis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "indicator.gauge.axis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.axis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "indicator.gauge.axis.tickformatstop",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "indicator.gauge.axis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "indicator.gauge.axis.tickformatstop",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "any"
                },
                {
                    "editType": "plot",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "indicator.gauge.axis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.axis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "indicator.gauge.axis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.gauge.axis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "indicator.gauge.axis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.axis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.axis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "indicator.gauge.axis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "indicator.gauge.axis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.gauge.axis.tickfont",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.axis.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.gauge.axis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "indicator.gauge.axis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "indicator.gauge.axis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "indicator.gauge.axis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "indicator.gauge.axis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "items": [
                {
                    "editType": "plot",
                    "valType": "number"
                },
                {
                    "editType": "plot",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "indicator.gauge.axis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "indicator.gauge.axis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "indicator.gauge.axis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "indicator.gauge.axis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.gauge.axis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "indicator.gauge.axis",
            "edit_type": "plot",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "indicator.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "indicator",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "indicator.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "indicator.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "indicator.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "indicator.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "indicator.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "indicator.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "indicator.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "indicator.delta": {
        "params": {
            "plotly_name": "delta",
            "parent_name": "indicator",
            "data_class_str": "Delta",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.delta.valueformat": {
        "params": {
            "plotly_name": "valueformat",
            "parent_name": "indicator.delta",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.delta.suffix": {
        "params": {
            "plotly_name": "suffix",
            "parent_name": "indicator.delta",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.delta.relative": {
        "params": {
            "plotly_name": "relative",
            "parent_name": "indicator.delta",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "indicator.delta.reference": {
        "params": {
            "plotly_name": "reference",
            "parent_name": "indicator.delta",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "indicator.delta.prefix": {
        "params": {
            "plotly_name": "prefix",
            "parent_name": "indicator.delta",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.delta.position": {
        "params": {
            "plotly_name": "position",
            "parent_name": "indicator.delta",
            "edit_type": "plot",
            "values": [
                "top",
                "bottom",
                "left",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.delta.increasing": {
        "params": {
            "plotly_name": "increasing",
            "parent_name": "indicator.delta",
            "data_class_str": "Increasing",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.delta.increasing.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "indicator.delta.increasing",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.delta.increasing.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.delta.increasing",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.delta.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "indicator.delta",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.delta.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "indicator.delta.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.delta.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.delta.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "indicator.delta.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "indicator.delta.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.delta.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "indicator.delta.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "indicator.delta.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.delta.font",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.delta.decreasing": {
        "params": {
            "plotly_name": "decreasing",
            "parent_name": "indicator.delta",
            "data_class_str": "Decreasing",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "indicator.delta.decreasing.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "indicator.delta.decreasing",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "indicator.delta.decreasing.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "indicator.delta.decreasing",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "indicator.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "indicator",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "indicator.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "indicator",
            "edit_type": "plot",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image": {
        "params": {
            "plotly_name": "image",
            "parent_name": "",
            "data_class_str": "Image",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "image.zsmooth": {
        "params": {
            "plotly_name": "zsmooth",
            "parent_name": "image",
            "edit_type": "plot",
            "values": [
                "fast",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "image",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "image.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "image",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "image.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "image",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "image.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "image",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "image.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "image",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "image.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "image",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "image.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "image",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "image.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "image",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "image.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "image",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "image",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "image.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "image",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "image.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "image",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "image.source": {
        "params": {
            "plotly_name": "source",
            "parent_name": "image",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "image.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "image",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "image.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "image",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "image.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "image",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "image.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "image",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "image.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "image",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "image.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "image",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "image.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "image.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "image.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "image.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "image.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "image.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "image.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "image.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "image.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "image.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "image.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "image.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "image",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "image.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "image",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "image.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "image",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "image.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "image",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "image.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "image",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "image.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "image",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "image.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "image.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "image.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "image.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "image.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "image.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "image.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "image.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "image.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "image.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "image.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "image.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "image.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "image.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "image.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "image.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "image.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "image.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "image.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "image.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "image",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "color",
                "name",
                "text"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "image.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "image",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "image.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "image",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "image.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "image",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "image.colormodel": {
        "params": {
            "plotly_name": "colormodel",
            "parent_name": "image",
            "edit_type": "calc",
            "values": [
                "rgb",
                "rgba",
                "rgba256",
                "hsl",
                "hsla"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle": {
        "params": {
            "plotly_name": "icicle",
            "parent_name": "",
            "data_class_str": "Icicle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "icicle",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "icicle",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "icicle",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "icicle.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "icicle",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "icicle.tiling": {
        "params": {
            "plotly_name": "tiling",
            "parent_name": "icicle",
            "data_class_str": "Tiling",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.tiling.pad": {
        "params": {
            "plotly_name": "pad",
            "parent_name": "icicle.tiling",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.tiling.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "icicle.tiling",
            "edit_type": "plot",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.tiling.flip": {
        "params": {
            "plotly_name": "flip",
            "parent_name": "icicle.tiling",
            "edit_type": "plot",
            "flags": [
                "x",
                "y"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "icicle",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "icicle.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "icicle",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "icicle.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "icicle",
            "edit_type": "plot",
            "values": [
                "top left",
                "top center",
                "top right",
                "middle left",
                "middle center",
                "middle right",
                "bottom left",
                "bottom center",
                "bottom right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.textinfo": {
        "params": {
            "plotly_name": "textinfo",
            "parent_name": "icicle",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "current path",
                "percent root",
                "percent entry",
                "percent parent"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "icicle",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "icicle.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "icicle.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "icicle.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "icicle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "icicle",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.sort": {
        "params": {
            "plotly_name": "sort",
            "parent_name": "icicle",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "icicle.root": {
        "params": {
            "plotly_name": "root",
            "parent_name": "icicle",
            "data_class_str": "Root",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.root.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.root",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "icicle.pathbar": {
        "params": {
            "plotly_name": "pathbar",
            "parent_name": "icicle",
            "data_class_str": "Pathbar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.pathbar.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "icicle.pathbar",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "icicle.pathbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "icicle.pathbar",
            "edit_type": "plot",
            "min": 12
        },
        "superclass": "NumberValidator"
    },
    "icicle.pathbar.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "icicle.pathbar",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.pathbar.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.pathbar.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.pathbar.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.pathbar.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.pathbar.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "icicle.pathbar.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "icicle.pathbar.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.pathbar.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "icicle.pathbar.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.pathbar.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "icicle.pathbar.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "icicle.pathbar",
            "edit_type": "plot",
            "values": [
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.pathbar.edgeshape": {
        "params": {
            "plotly_name": "edgeshape",
            "parent_name": "icicle.pathbar",
            "edit_type": "plot",
            "values": [
                ">",
                "<",
                "|",
                "/",
                "\\"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.parents": {
        "params": {
            "plotly_name": "parents",
            "parent_name": "icicle",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.outsidetextfont": {
        "params": {
            "plotly_name": "outsidetextfont",
            "parent_name": "icicle",
            "data_class_str": "Outsidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.outsidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.outsidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.outsidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.outsidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.outsidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "icicle.outsidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "icicle.outsidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.outsidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "icicle.outsidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.outsidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "icicle.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "icicle",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "icicle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "icicle.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "icicle",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "icicle.maxdepth": {
        "params": {
            "plotly_name": "maxdepth",
            "parent_name": "icicle",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "icicle.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "icicle",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "icicle.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "icicle.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "icicle.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "icicle.marker.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "icicle.marker",
            "data_class_str": "Pattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.marker.pattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "icicle.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.pattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.pattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "icicle.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.pattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "icicle.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.pattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "icicle.marker.pattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.pattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "icicle.marker.pattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.pattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "icicle.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.pattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "icicle.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "icicle.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "icicle.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.marker.line",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "icicle.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "icicle.marker.colors": {
        "params": {
            "plotly_name": "colors",
            "parent_name": "icicle.marker",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "icicle.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "icicle.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "icicle.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "icicle.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "icicle.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "icicle.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "icicle.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "icicle.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "icicle.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "icicle.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "icicle.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "icicle.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "icicle.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "icicle.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "icicle.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "icicle.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "icicle.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "icicle.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "icicle.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "icicle.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "icicle.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "icicle.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "icicle.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "icicle.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "icicle.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "icicle.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "icicle.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "icicle.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "icicle.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "icicle.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "icicle.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "icicle.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "icicle.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "icicle.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "icicle.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "icicle.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "icicle.level": {
        "params": {
            "plotly_name": "level",
            "parent_name": "icicle",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "icicle.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "icicle",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "icicle",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "icicle.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "icicle",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "icicle.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "icicle.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "icicle.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "icicle.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "icicle.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "icicle.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "icicle.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "icicle",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "icicle.leaf": {
        "params": {
            "plotly_name": "leaf",
            "parent_name": "icicle",
            "data_class_str": "Leaf",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.leaf.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "icicle.leaf",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "icicle.labels": {
        "params": {
            "plotly_name": "labels",
            "parent_name": "icicle",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "icicle",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "icicle.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "icicle.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "icicle.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "icicle.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "icicle",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "icicle",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "icicle.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "icicle",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "icicle.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "icicle",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "icicle.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "icicle",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "icicle.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "icicle.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "icicle.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "icicle.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "icicle.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "icicle.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "icicle.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "icicle.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "icicle.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "icicle.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "icicle.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "icicle.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "icicle.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "icicle.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "icicle.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "icicle.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "icicle",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "name",
                "current path",
                "percent root",
                "percent entry",
                "percent parent"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "icicle",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "icicle.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "icicle.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "icicle.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "icicle.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "icicle.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "icicle.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "icicle.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "icicle.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "icicle.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "icicle",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "icicle.count": {
        "params": {
            "plotly_name": "count",
            "parent_name": "icicle",
            "edit_type": "calc",
            "flags": [
                "branches",
                "leaves"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "icicle.branchvalues": {
        "params": {
            "plotly_name": "branchvalues",
            "parent_name": "icicle",
            "edit_type": "calc",
            "values": [
                "remainder",
                "total"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour": {
        "params": {
            "plotly_name": "histogram2dcontour",
            "parent_name": "",
            "data_class_str": "Histogram2dContour",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.zmid": {
        "params": {
            "plotly_name": "zmid",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "histogram2dcontour",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.zauto": {
        "params": {
            "plotly_name": "zauto",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2dcontour.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "histogram2dcontour",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.ybins": {
        "params": {
            "plotly_name": "ybins",
            "parent_name": "histogram2dcontour",
            "data_class_str": "YBins",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.ybins.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "histogram2dcontour.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.ybins.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.ybins.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "histogram2dcontour.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.ybingroup": {
        "params": {
            "plotly_name": "ybingroup",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "histogram2dcontour",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram2dcontour.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2dcontour.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "histogram2dcontour",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.xbins": {
        "params": {
            "plotly_name": "xbins",
            "parent_name": "histogram2dcontour",
            "data_class_str": "XBins",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.xbins.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "histogram2dcontour.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.xbins.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.xbins.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "histogram2dcontour.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.xbingroup": {
        "params": {
            "plotly_name": "xbingroup",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "histogram2dcontour",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram2dcontour.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2dcontour.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "histogram2dcontour",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "histogram2dcontour",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "histogram2dcontour",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "histogram2dcontour",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "histogram2dcontour",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2dcontour.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2dcontour.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "histogram2dcontour",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "histogram2dcontour",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "histogram2dcontour",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.ncontours": {
        "params": {
            "plotly_name": "ncontours",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.nbinsy": {
        "params": {
            "plotly_name": "nbinsy",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.nbinsx": {
        "params": {
            "plotly_name": "nbinsx",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "histogram2dcontour",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "histogram2dcontour",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "histogram2dcontour",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2dcontour.marker",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2dcontour.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "histogram2dcontour",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "histogram2dcontour.line",
            "edit_type": "style+colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.line.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "histogram2dcontour.line",
            "edit_type": "plot",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "histogram2dcontour.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "histogram2dcontour.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2dcontour.line",
            "edit_type": "style+colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "histogram2dcontour",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "histogram2dcontour",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "histogram2dcontour",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "histogram2dcontour.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram2dcontour.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2dcontour.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "histogram2dcontour",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "histogram2dcontour",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram2dcontour.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2dcontour.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "histogram2dcontour",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "histogram2dcontour",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "histogram2dcontour",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "histogram2dcontour.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "histogram2dcontour.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram2dcontour.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2dcontour.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2dcontour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "histogram2dcontour.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "histogram2dcontour.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "histogram2dcontour.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "histogram2dcontour",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2dcontour.histnorm": {
        "params": {
            "plotly_name": "histnorm",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "values": [
                "",
                "percent",
                "probability",
                "density",
                "probability density"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.histfunc": {
        "params": {
            "plotly_name": "histfunc",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "values": [
                "count",
                "sum",
                "avg",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2dcontour.contours": {
        "params": {
            "plotly_name": "contours",
            "parent_name": "histogram2dcontour",
            "data_class_str": "Contours",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.contours.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.contours.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "calc",
            "values": [
                "levels",
                "constraint"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.contours.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.contours.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            },
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.contours.showlines": {
        "params": {
            "plotly_name": "showlines",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.contours.showlabels": {
        "params": {
            "plotly_name": "showlabels",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.contours.operation": {
        "params": {
            "plotly_name": "operation",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "calc",
            "values": [
                "=",
                "<",
                ">=",
                ">",
                "<=",
                "[]",
                "()",
                "[)",
                "(]",
                "][",
                ")(",
                "](",
                ")["
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.contours.labelformat": {
        "params": {
            "plotly_name": "labelformat",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.contours.labelfont": {
        "params": {
            "plotly_name": "labelfont",
            "parent_name": "histogram2dcontour.contours",
            "data_class_str": "Labelfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.contours.labelfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.contours.labelfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.contours.labelfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.contours.labelfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.contours.labelfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.contours.labelfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.contours.labelfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2dcontour.contours.labelfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.contours.labelfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2dcontour.contours.labelfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.contours.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.contours.coloring": {
        "params": {
            "plotly_name": "coloring",
            "parent_name": "histogram2dcontour.contours",
            "edit_type": "calc",
            "values": [
                "fill",
                "heatmap",
                "lines",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "histogram2dcontour.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "histogram2dcontour",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "histogram2dcontour.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "histogram2dcontour.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "histogram2dcontour.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "histogram2dcontour.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram2dcontour.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2dcontour.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2dcontour.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2dcontour.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2dcontour.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "histogram2dcontour.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "histogram2dcontour.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "histogram2dcontour.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "histogram2dcontour.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "histogram2dcontour.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "histogram2dcontour.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "histogram2dcontour.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "histogram2dcontour.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "histogram2dcontour.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "histogram2dcontour.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2dcontour.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2dcontour.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2dcontour.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "histogram2dcontour.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram2dcontour.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2dcontour.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "histogram2dcontour.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2dcontour.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "histogram2dcontour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2dcontour.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "histogram2dcontour",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram2dcontour.bingroup": {
        "params": {
            "plotly_name": "bingroup",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram2dcontour.autocontour": {
        "params": {
            "plotly_name": "autocontour",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.autobiny": {
        "params": {
            "plotly_name": "autobiny",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2dcontour.autobinx": {
        "params": {
            "plotly_name": "autobinx",
            "parent_name": "histogram2dcontour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d": {
        "params": {
            "plotly_name": "histogram2d",
            "parent_name": "",
            "data_class_str": "Histogram2d",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.zsmooth": {
        "params": {
            "plotly_name": "zsmooth",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "values": [
                "fast",
                "best",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "histogram2d",
            "edit_type": "plot",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.zmid": {
        "params": {
            "plotly_name": "zmid",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "histogram2d",
            "edit_type": "plot",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "histogram2d",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.zauto": {
        "params": {
            "plotly_name": "zauto",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2d.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "histogram2d",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.ygap": {
        "params": {
            "plotly_name": "ygap",
            "parent_name": "histogram2d",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.ybins": {
        "params": {
            "plotly_name": "ybins",
            "parent_name": "histogram2d",
            "data_class_str": "YBins",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.ybins.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "histogram2d.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.ybins.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2d.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.ybins.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "histogram2d.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.ybingroup": {
        "params": {
            "plotly_name": "ybingroup",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "histogram2d",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram2d.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "histogram2d",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2d.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "histogram2d",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.xgap": {
        "params": {
            "plotly_name": "xgap",
            "parent_name": "histogram2d",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.xbins": {
        "params": {
            "plotly_name": "xbins",
            "parent_name": "histogram2d",
            "data_class_str": "XBins",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.xbins.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "histogram2d.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.xbins.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2d.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.xbins.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "histogram2d.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.xbingroup": {
        "params": {
            "plotly_name": "xbingroup",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "histogram2d",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram2d.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "histogram2d",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2d.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "histogram2d",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "histogram2d",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "histogram2d",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "histogram2d",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "histogram2d",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2d.textfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2d.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2d.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2d.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2d.textfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2d.textfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2d.textfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2d.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2d.textfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2d.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2d.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "histogram2d",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "histogram2d",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "histogram2d",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.nbinsy": {
        "params": {
            "plotly_name": "nbinsy",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.nbinsx": {
        "params": {
            "plotly_name": "nbinsx",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "histogram2d",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "histogram2d",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "histogram2d",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2d.marker",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2d.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "histogram2d",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "histogram2d",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "histogram2d",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "histogram2d.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram2d.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2d.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2d.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2d.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "histogram2d",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "histogram2d",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram2d.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2d.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "histogram2d",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "histogram2d",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "histogram2d",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "histogram2d.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "histogram2d.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram2d.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2d.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2d.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2d.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "histogram2d.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "histogram2d.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "histogram2d.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "histogram2d",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2d.histnorm": {
        "params": {
            "plotly_name": "histnorm",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "values": [
                "",
                "percent",
                "probability",
                "density",
                "probability density"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.histfunc": {
        "params": {
            "plotly_name": "histfunc",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "values": [
                "count",
                "sum",
                "avg",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2d.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "histogram2d.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "histogram2d",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "histogram2d.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "histogram2d.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "histogram2d.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "histogram2d.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram2d.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2d.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2d.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2d.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram2d.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "histogram2d.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "histogram2d.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "histogram2d.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "histogram2d.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "histogram2d.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "histogram2d.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "histogram2d.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "histogram2d.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "histogram2d.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "histogram2d.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram2d.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram2d.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram2d.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram2d.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "histogram2d.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram2d.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram2d.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "histogram2d.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram2d.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "histogram2d.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram2d.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "histogram2d",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram2d.bingroup": {
        "params": {
            "plotly_name": "bingroup",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram2d.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "histogram2d",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.autobiny": {
        "params": {
            "plotly_name": "autobiny",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram2d.autobinx": {
        "params": {
            "plotly_name": "autobinx",
            "parent_name": "histogram2d",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram": {
        "params": {
            "plotly_name": "histogram",
            "parent_name": "",
            "data_class_str": "Histogram",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "histogram",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "histogram.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "histogram",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "histogram",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.ybins": {
        "params": {
            "plotly_name": "ybins",
            "parent_name": "histogram",
            "data_class_str": "YBins",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.ybins.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "histogram.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram.ybins.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram.ybins.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "histogram.ybins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "histogram",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "histogram",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "histogram",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "histogram",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.xbins": {
        "params": {
            "plotly_name": "xbins",
            "parent_name": "histogram",
            "data_class_str": "XBins",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.xbins.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "histogram.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram.xbins.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram.xbins.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "histogram.xbins",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "histogram",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "histogram",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "histogram",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "histogram",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "histogram.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "histogram.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "histogram.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "histogram",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "histogram.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "histogram",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "histogram",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "histogram.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "histogram",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "histogram",
            "array_ok": false,
            "edit_type": "calc",
            "values": [
                "inside",
                "outside",
                "auto",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "histogram",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram.textfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.textfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram.textfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram.textfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram.textfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.textangle": {
        "params": {
            "plotly_name": "textangle",
            "parent_name": "histogram",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "histogram.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "histogram",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "histogram",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "histogram",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "histogram",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "histogram.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "histogram.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "histogram.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.outsidetextfont": {
        "params": {
            "plotly_name": "outsidetextfont",
            "parent_name": "histogram",
            "data_class_str": "Outsidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.outsidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.outsidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.outsidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.outsidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.outsidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram.outsidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram.outsidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram.outsidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram.outsidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.outsidetextfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "histogram",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "histogram",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.offsetgroup": {
        "params": {
            "plotly_name": "offsetgroup",
            "parent_name": "histogram",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram.nbinsy": {
        "params": {
            "plotly_name": "nbinsy",
            "parent_name": "histogram",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram.nbinsx": {
        "params": {
            "plotly_name": "nbinsx",
            "parent_name": "histogram",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "histogram",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "histogram",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "histogram.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "histogram",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "histogram.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "histogram.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "histogram.marker",
            "data_class_str": "Pattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.marker.pattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "histogram.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.pattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.pattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "histogram.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.pattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "histogram.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.pattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "histogram.marker.pattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.pattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "histogram.marker.pattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.pattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "histogram.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.pattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "histogram.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "histogram.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "histogram.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "histogram.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "histogram.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "histogram.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "histogram.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "histogram.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "histogram.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "histogram.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "histogram.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "histogram.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "histogram.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "histogram.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.cornerradius": {
        "params": {
            "plotly_name": "cornerradius",
            "parent_name": "histogram.marker",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "histogram.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "histogram.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "histogram.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "histogram.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "histogram.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "histogram.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "histogram.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "histogram.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "histogram.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "histogram.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "histogram.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "histogram.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "histogram.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "histogram.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "histogram.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "histogram.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "histogram.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "histogram.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "histogram.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "histogram.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "histogram.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "histogram.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "histogram.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "histogram.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "histogram.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "histogram.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "histogram.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "histogram.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "histogram.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "histogram.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "histogram.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "histogram.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "histogram.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "histogram",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "histogram",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "histogram.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "histogram",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "histogram.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "histogram",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "histogram",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "histogram.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "histogram",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "histogram.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.insidetextfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.insidetextanchor": {
        "params": {
            "plotly_name": "insidetextanchor",
            "parent_name": "histogram",
            "edit_type": "plot",
            "values": [
                "end",
                "middle",
                "start"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "histogram",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "histogram",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "histogram.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "histogram",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "histogram.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "histogram",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "histogram",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "histogram.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "histogram.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "histogram.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "histogram.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "histogram.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "histogram.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "histogram.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "histogram.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "histogram.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "histogram.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "histogram.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "histogram",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "histogram.histnorm": {
        "params": {
            "plotly_name": "histnorm",
            "parent_name": "histogram",
            "edit_type": "calc",
            "values": [
                "",
                "percent",
                "probability",
                "density",
                "probability density"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.histfunc": {
        "params": {
            "plotly_name": "histfunc",
            "parent_name": "histogram",
            "edit_type": "calc",
            "values": [
                "count",
                "sum",
                "avg",
                "min",
                "max"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.error_y": {
        "params": {
            "plotly_name": "error_y",
            "parent_name": "histogram",
            "data_class_str": "ErrorY",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.error_y.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "histogram.error_y",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.error_y.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "histogram.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.error_y.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "histogram.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.error_y.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "histogram.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.error_y.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "histogram.error_y",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.error_y.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "histogram.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram.error_y.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "histogram.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram.error_y.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "histogram.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.error_y.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "histogram.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.error_y.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.error_y",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.error_y.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "histogram.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.error_y.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "histogram.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.error_x": {
        "params": {
            "plotly_name": "error_x",
            "parent_name": "histogram",
            "data_class_str": "ErrorX",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.error_x.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "histogram.error_x",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.error_x.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "histogram.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.error_x.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "histogram.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.error_x.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "histogram.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.error_x.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "histogram.error_x",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.error_x.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "histogram.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram.error_x.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "histogram.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "histogram.error_x.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "histogram.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "histogram.error_x.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "histogram.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.error_x.copy_ystyle": {
        "params": {
            "plotly_name": "copy_ystyle",
            "parent_name": "histogram.error_x",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.error_x.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "histogram.error_x",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "histogram.error_x.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "histogram.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.error_x.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "histogram.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "histogram",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "histogram.cumulative": {
        "params": {
            "plotly_name": "cumulative",
            "parent_name": "histogram",
            "data_class_str": "Cumulative",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "histogram.cumulative.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "histogram.cumulative",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.cumulative.direction": {
        "params": {
            "plotly_name": "direction",
            "parent_name": "histogram.cumulative",
            "edit_type": "calc",
            "values": [
                "increasing",
                "decreasing"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.cumulative.currentbin": {
        "params": {
            "plotly_name": "currentbin",
            "parent_name": "histogram.cumulative",
            "edit_type": "calc",
            "values": [
                "include",
                "exclude",
                "half"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.constraintext": {
        "params": {
            "plotly_name": "constraintext",
            "parent_name": "histogram",
            "edit_type": "calc",
            "values": [
                "inside",
                "outside",
                "both",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "histogram.cliponaxis": {
        "params": {
            "plotly_name": "cliponaxis",
            "parent_name": "histogram",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.bingroup": {
        "params": {
            "plotly_name": "bingroup",
            "parent_name": "histogram",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "histogram.autobiny": {
        "params": {
            "plotly_name": "autobiny",
            "parent_name": "histogram",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.autobinx": {
        "params": {
            "plotly_name": "autobinx",
            "parent_name": "histogram",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "histogram.alignmentgroup": {
        "params": {
            "plotly_name": "alignmentgroup",
            "parent_name": "histogram",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "heatmap": {
        "params": {
            "plotly_name": "heatmap",
            "parent_name": "",
            "data_class_str": "Heatmap",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.zsmooth": {
        "params": {
            "plotly_name": "zsmooth",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "values": [
                "fast",
                "best",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "heatmap",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "heatmap",
            "edit_type": "plot",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "heatmap.zmid": {
        "params": {
            "plotly_name": "zmid",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "heatmap.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "heatmap",
            "edit_type": "plot",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "heatmap.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "heatmap",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "heatmap.zauto": {
        "params": {
            "plotly_name": "zauto",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "heatmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.ytype": {
        "params": {
            "plotly_name": "ytype",
            "parent_name": "heatmap",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "array",
                "scaled"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.yperiodalignment": {
        "params": {
            "plotly_name": "yperiodalignment",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "ytype": "scaled"
            },
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.yperiod0": {
        "params": {
            "plotly_name": "yperiod0",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "heatmap.yperiod": {
        "params": {
            "plotly_name": "yperiod",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "heatmap.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "heatmap",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "heatmap.ygap": {
        "params": {
            "plotly_name": "ygap",
            "parent_name": "heatmap",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "heatmap",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "heatmap.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "heatmap",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "heatmap.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "heatmap",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "ytype": "array"
            }
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.xtype": {
        "params": {
            "plotly_name": "xtype",
            "parent_name": "heatmap",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "array",
                "scaled"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "xtype": "scaled"
            },
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "heatmap.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "heatmap.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "heatmap",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "heatmap.xgap": {
        "params": {
            "plotly_name": "xgap",
            "parent_name": "heatmap",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "heatmap",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "heatmap.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "heatmap",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "heatmap.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "heatmap",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "xtype": "array"
            }
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "heatmap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "heatmap.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "heatmap",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "heatmap.transpose": {
        "params": {
            "plotly_name": "transpose",
            "parent_name": "heatmap",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "heatmap",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "heatmap.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "heatmap",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "heatmap.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "heatmap",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "heatmap.textfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "heatmap.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "heatmap.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "heatmap.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "heatmap.textfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "heatmap.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "heatmap.textfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "heatmap.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "heatmap.textfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "heatmap.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "heatmap.textfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "heatmap.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "heatmap.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "heatmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "heatmap",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "heatmap",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "heatmap",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "heatmap",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "heatmap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "heatmap.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "heatmap",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "heatmap.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "heatmap",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "heatmap",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "heatmap.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "heatmap",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "heatmap.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "heatmap.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "heatmap.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "heatmap.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "heatmap.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "heatmap.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "heatmap.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "heatmap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "heatmap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "heatmap.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "heatmap",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "heatmap.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "heatmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "heatmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "heatmap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "heatmap.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "heatmap",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "heatmap.hoverongaps": {
        "params": {
            "plotly_name": "hoverongaps",
            "parent_name": "heatmap",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "heatmap",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "heatmap.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "heatmap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "heatmap.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "heatmap.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "heatmap.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "heatmap.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "heatmap.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "heatmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "heatmap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "heatmap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "heatmap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "heatmap",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "heatmap.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "NumberValidator"
    },
    "heatmap.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "NumberValidator"
    },
    "heatmap.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "heatmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "heatmap",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "heatmap.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "heatmap",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "heatmap.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "heatmap.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "heatmap.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "heatmap.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "heatmap.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "heatmap.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "heatmap.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "heatmap.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "heatmap.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "heatmap.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "heatmap.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "heatmap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "heatmap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "heatmap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "heatmap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "heatmap.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "heatmap.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "heatmap.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "heatmap.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "heatmap.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "heatmap.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "heatmap.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "heatmap.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "heatmap.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "heatmap.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "heatmap.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "heatmap.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "heatmap.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "heatmap.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "heatmap.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "heatmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "heatmap.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "heatmap",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "heatmap.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "heatmap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "funnelarea": {
        "params": {
            "plotly_name": "funnelarea",
            "parent_name": "",
            "data_class_str": "Funnelarea",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "funnelarea",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.values": {
        "params": {
            "plotly_name": "values",
            "parent_name": "funnelarea",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "funnelarea.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "funnelarea",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "funnelarea.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "funnelarea",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "funnelarea",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "funnelarea.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "funnelarea.title",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.title.position": {
        "params": {
            "plotly_name": "position",
            "parent_name": "funnelarea.title",
            "edit_type": "plot",
            "values": [
                "top left",
                "top center",
                "top right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "funnelarea.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnelarea.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnelarea.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnelarea.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnelarea.title.font",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "funnelarea",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "funnelarea.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "funnelarea",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "funnelarea",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "inside",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.textinfo": {
        "params": {
            "plotly_name": "textinfo",
            "parent_name": "funnelarea",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "percent"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnelarea.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "funnelarea",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnelarea.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnelarea.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnelarea.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnelarea.textfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "funnelarea",
            "edit_type": "plot"
        },
        "superclass": "DataArrayValidator"
    },
    "funnelarea.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "funnelarea",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "funnelarea.scalegroup": {
        "params": {
            "plotly_name": "scalegroup",
            "parent_name": "funnelarea",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "funnelarea",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "funnelarea",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "funnelarea",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "funnelarea.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "funnelarea",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.marker.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "funnelarea.marker",
            "data_class_str": "Pattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.marker.pattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "funnelarea.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.marker.pattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnelarea.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.marker.pattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "funnelarea.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.marker.pattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "funnelarea.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.marker.pattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "funnelarea.marker.pattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.marker.pattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "funnelarea.marker.pattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.marker.pattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "funnelarea.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.marker.pattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "funnelarea.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "funnelarea.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "funnelarea.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnelarea.marker.line",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.marker.colors": {
        "params": {
            "plotly_name": "colors",
            "parent_name": "funnelarea.marker",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "funnelarea.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "funnelarea",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "funnelarea",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "funnelarea",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "funnelarea.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "funnelarea.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnelarea.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnelarea.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnelarea.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnelarea.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "funnelarea",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "funnelarea",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "funnelarea.labels": {
        "params": {
            "plotly_name": "labels",
            "parent_name": "funnelarea",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "funnelarea.label0": {
        "params": {
            "plotly_name": "label0",
            "parent_name": "funnelarea",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "funnelarea",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnelarea.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnelarea.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnelarea.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnelarea.insidetextfont",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "funnelarea",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "funnelarea.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "funnelarea",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "funnelarea",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "funnelarea.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "funnelarea",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "funnelarea",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "funnelarea.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "funnelarea.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "funnelarea.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "funnelarea.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "funnelarea.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnelarea.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "funnelarea.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnelarea.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnelarea.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnelarea.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "funnelarea.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "funnelarea.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "funnelarea.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "funnelarea.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnelarea.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "funnelarea",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "label",
                "text",
                "value",
                "percent",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnelarea.domain": {
        "params": {
            "plotly_name": "domain",
            "parent_name": "funnelarea",
            "data_class_str": "Domain",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnelarea.domain.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "funnelarea.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "funnelarea.domain.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "funnelarea.domain",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                },
                {
                    "editType": "calc",
                    "max": 1,
                    "min": 0,
                    "valType": "number"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "funnelarea.domain.row": {
        "params": {
            "plotly_name": "row",
            "parent_name": "funnelarea.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "funnelarea.domain.column": {
        "params": {
            "plotly_name": "column",
            "parent_name": "funnelarea.domain",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "funnelarea.dlabel": {
        "params": {
            "plotly_name": "dlabel",
            "parent_name": "funnelarea",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "funnelarea",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "funnelarea.baseratio": {
        "params": {
            "plotly_name": "baseratio",
            "parent_name": "funnelarea",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnelarea.aspectratio": {
        "params": {
            "plotly_name": "aspectratio",
            "parent_name": "funnelarea",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel": {
        "params": {
            "plotly_name": "funnel",
            "parent_name": "",
            "data_class_str": "Funnel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "funnel",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "funnel.yperiodalignment": {
        "params": {
            "plotly_name": "yperiodalignment",
            "parent_name": "funnel",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.yperiod0": {
        "params": {
            "plotly_name": "yperiod0",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "funnel.yperiod": {
        "params": {
            "plotly_name": "yperiod",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "funnel.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "funnel",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "funnel.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "funnel",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "funnel.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "funnel",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "funnel.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "funnel",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "funnel.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "funnel",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "funnel.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "funnel.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "funnel",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "funnel.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "funnel",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "funnel.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "funnel",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "funnel.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "funnel",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "funnel.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "funnel",
            "array_ok": false,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "funnel",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "funnel",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "funnel.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "funnel",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "funnel.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "funnel",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "funnel.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "funnel",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "funnel.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "funnel",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "inside",
                "outside",
                "auto",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.textinfo": {
        "params": {
            "plotly_name": "textinfo",
            "parent_name": "funnel",
            "array_ok": false,
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "label",
                "text",
                "percent initial",
                "percent previous",
                "percent total",
                "value"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "funnel",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnel.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "funnel.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnel.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnel.textangle": {
        "params": {
            "plotly_name": "textangle",
            "parent_name": "funnel",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "funnel.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "funnel",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "funnel.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "funnel",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "funnel.outsidetextfont": {
        "params": {
            "plotly_name": "outsidetextfont",
            "parent_name": "funnel",
            "data_class_str": "Outsidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.outsidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.outsidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.outsidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.outsidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.outsidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnel.outsidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "funnel.outsidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.outsidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnel.outsidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.outsidetextfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnel.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "funnel",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "funnel",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.offsetgroup": {
        "params": {
            "plotly_name": "offsetgroup",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "funnel.offset": {
        "params": {
            "plotly_name": "offset",
            "parent_name": "funnel",
            "array_ok": false,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "funnel.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "funnel",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnel.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "funnel",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "funnel.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "funnel",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "funnel.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "funnel.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "funnel.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "funnel.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "funnel.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "funnel.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "funnel.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "funnel.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "funnel.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "funnel.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "funnel.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "funnel.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "funnel.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "funnel.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "funnel.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "funnel.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "funnel.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "funnel.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "funnel.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "funnel.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "funnel.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "funnel.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "funnel.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "funnel.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "funnel.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "funnel.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "funnel.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "funnel.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "funnel.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "funnel.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "funnel.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "funnel.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "funnel.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "funnel.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "funnel.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "funnel.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "funnel.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "funnel.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnel.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "funnel.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "funnel.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "funnel.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "funnel.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "funnel.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "funnel.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "funnel.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "funnel.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "funnel.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "funnel.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "funnel.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "funnel.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "funnel.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "funnel.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "funnel.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "funnel.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "funnel.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "funnel.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "funnel.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "funnel.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "funnel.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "funnel.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "funnel.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "funnel",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "funnel",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "funnel.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "funnel",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "funnel.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnel.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "funnel.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnel.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnel.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnel.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnel.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "funnel",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnel.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "funnel",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "funnel.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "funnel",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnel.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "funnel.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnel.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.insidetextfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnel.insidetextanchor": {
        "params": {
            "plotly_name": "insidetextanchor",
            "parent_name": "funnel",
            "edit_type": "plot",
            "values": [
                "end",
                "middle",
                "start"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "funnel.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "funnel",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "funnel.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "funnel",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "funnel.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "funnel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "funnel.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "funnel",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "funnel.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "funnel.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "funnel.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "funnel.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "funnel.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "funnel.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "funnel.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "funnel.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "funnel.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "funnel.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "funnel.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "funnel.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "funnel.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "funnel",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "name",
                "x",
                "y",
                "text",
                "percent initial",
                "percent previous",
                "percent total"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "funnel.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "funnel.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "funnel.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "funnel.constraintext": {
        "params": {
            "plotly_name": "constraintext",
            "parent_name": "funnel",
            "edit_type": "calc",
            "values": [
                "inside",
                "outside",
                "both",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "funnel.connector": {
        "params": {
            "plotly_name": "connector",
            "parent_name": "funnel",
            "data_class_str": "Connector",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.connector.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "funnel.connector",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.connector.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "funnel.connector",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "funnel.connector.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "funnel.connector.line",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "funnel.connector.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "funnel.connector.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "funnel.connector.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "funnel.connector.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnel.connector.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "funnel.connector",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "funnel.cliponaxis": {
        "params": {
            "plotly_name": "cliponaxis",
            "parent_name": "funnel",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "funnel.alignmentgroup": {
        "params": {
            "plotly_name": "alignmentgroup",
            "parent_name": "funnel",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "densitymap": {
        "params": {
            "plotly_name": "densitymap",
            "parent_name": "",
            "data_class_str": "Densitymap",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "densitymap",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "densitymap.zmid": {
        "params": {
            "plotly_name": "zmid",
            "parent_name": "densitymap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "densitymap.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "densitymap",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "densitymap.zauto": {
        "params": {
            "plotly_name": "zauto",
            "parent_name": "densitymap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "densitymap.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "densitymap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "densitymap.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "densitymap",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "densitymap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "densitymap.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "densitymap",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "densitymap.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "densitymap",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "densitymap.subplot": {
        "params": {
            "plotly_name": "subplot",
            "parent_name": "densitymap",
            "dflt": "map",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "densitymap.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "densitymap",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "densitymap.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "densitymap",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "densitymap.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "densitymap",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "densitymap.radius": {
        "params": {
            "plotly_name": "radius",
            "parent_name": "densitymap",
            "array_ok": true,
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "densitymap.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "densitymap",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "densitymap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "densitymap.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "densitymap",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "densitymap.lon": {
        "params": {
            "plotly_name": "lon",
            "parent_name": "densitymap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "densitymap.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "densitymap",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "densitymap",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "densitymap.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "densitymap",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "densitymap.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "densitymap.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "densitymap.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "densitymap.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "densitymap.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "densitymap.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "densitymap.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "densitymap.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "densitymap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "densitymap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "densitymap.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "densitymap",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "densitymap.lat": {
        "params": {
            "plotly_name": "lat",
            "parent_name": "densitymap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "densitymap.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "densitymap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "densitymap.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "densitymap",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "densitymap.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "densitymap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "densitymap.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "densitymap",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "densitymap.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "densitymap",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "densitymap.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "densitymap.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "densitymap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "densitymap.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "densitymap.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "densitymap.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "densitymap.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "densitymap.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "densitymap.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "densitymap.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "densitymap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "densitymap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "densitymap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "densitymap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "densitymap",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "lon",
                "lat",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "densitymap.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "densitymap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "densitymap.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "densitymap",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "densitymap.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "densitymap",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "densitymap.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "densitymap.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "densitymap.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "densitymap.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "densitymap.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "densitymap.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "densitymap.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "densitymap.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "densitymap.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "densitymap.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "densitymap.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "densitymap.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "densitymap.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "densitymap.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "densitymap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "densitymap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "densitymap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "densitymap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "densitymap.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "densitymap.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "densitymap.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "densitymap.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "densitymap.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "densitymap.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "densitymap.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "densitymap.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "densitymap.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "densitymap.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "densitymap.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "densitymap.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "densitymap.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "densitymap.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "densitymap.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "densitymap.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "densitymap.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "densitymap.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "densitymap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "densitymap.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "densitymap",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "densitymap.below": {
        "params": {
            "plotly_name": "below",
            "parent_name": "densitymap",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "densitymap.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "densitymap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet": {
        "params": {
            "plotly_name": "contourcarpet",
            "parent_name": "",
            "data_class_str": "Contourcarpet",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "contourcarpet",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "contourcarpet.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "contourcarpet",
            "edit_type": "plot",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.zmid": {
        "params": {
            "plotly_name": "zmid",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "contourcarpet",
            "edit_type": "plot",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.zauto": {
        "params": {
            "plotly_name": "zauto",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "contourcarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contourcarpet.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "contourcarpet",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "contourcarpet.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "contourcarpet",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "contourcarpet.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "contourcarpet",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "contourcarpet.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "contourcarpet",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.transpose": {
        "params": {
            "plotly_name": "transpose",
            "parent_name": "contourcarpet",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "contourcarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contourcarpet.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "contourcarpet",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "contourcarpet",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "contourcarpet",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "contourcarpet",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.ncontours": {
        "params": {
            "plotly_name": "ncontours",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contourcarpet.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "contourcarpet",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "contourcarpet",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "contourcarpet.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "contourcarpet",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "contourcarpet.line",
            "edit_type": "style+colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.line.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "contourcarpet.line",
            "edit_type": "plot",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "contourcarpet.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "contourcarpet.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contourcarpet.line",
            "edit_type": "style+colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "contourcarpet",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "contourcarpet",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "contourcarpet",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "contourcarpet.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "contourcarpet.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contourcarpet.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contourcarpet.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contourcarpet.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "contourcarpet",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "contourcarpet",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "contourcarpet.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "contourcarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contourcarpet.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "contourcarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contourcarpet.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "colorscale_path": "contourcarpet.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.db": {
        "params": {
            "plotly_name": "db",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.da": {
        "params": {
            "plotly_name": "da",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "contourcarpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contourcarpet.contours": {
        "params": {
            "plotly_name": "contours",
            "parent_name": "contourcarpet",
            "data_class_str": "Contours",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.contours.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "contourcarpet.contours",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "contourcarpet.contours.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "contourcarpet.contours",
            "edit_type": "calc",
            "values": [
                "levels",
                "constraint"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.contours.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "contourcarpet.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            }
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.contours.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contourcarpet.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            },
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.contours.showlines": {
        "params": {
            "plotly_name": "showlines",
            "parent_name": "contourcarpet.contours",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.contours.showlabels": {
        "params": {
            "plotly_name": "showlabels",
            "parent_name": "contourcarpet.contours",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.contours.operation": {
        "params": {
            "plotly_name": "operation",
            "parent_name": "contourcarpet.contours",
            "edit_type": "calc",
            "values": [
                "=",
                "<",
                ">=",
                ">",
                "<=",
                "[]",
                "()",
                "[)",
                "(]",
                "][",
                ")(",
                "](",
                ")["
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.contours.labelformat": {
        "params": {
            "plotly_name": "labelformat",
            "parent_name": "contourcarpet.contours",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.contours.labelfont": {
        "params": {
            "plotly_name": "labelfont",
            "parent_name": "contourcarpet.contours",
            "data_class_str": "Labelfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.contours.labelfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contourcarpet.contours.labelfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.contours.labelfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.contours.labelfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.contours.labelfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.contours.labelfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.contours.labelfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contourcarpet.contours.labelfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.contours.labelfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contourcarpet.contours.labelfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.contours.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "contourcarpet.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            }
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.contours.coloring": {
        "params": {
            "plotly_name": "coloring",
            "parent_name": "contourcarpet.contours",
            "edit_type": "calc",
            "values": [
                "fill",
                "lines",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "contourcarpet.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "contourcarpet",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "contourcarpet.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "contourcarpet.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "contourcarpet.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "contourcarpet.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "contourcarpet.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contourcarpet.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contourcarpet.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contourcarpet.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "contourcarpet.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "contourcarpet.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contourcarpet.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "contourcarpet.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "contourcarpet.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "contourcarpet.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "contourcarpet.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "contourcarpet.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "contourcarpet.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "contourcarpet.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "contourcarpet.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "contourcarpet.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "contourcarpet.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contourcarpet.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contourcarpet.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contourcarpet.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contourcarpet.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "contourcarpet.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "contourcarpet.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "contourcarpet.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "contourcarpet.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "contourcarpet.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contourcarpet.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "contourcarpet.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contourcarpet.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "contourcarpet",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "contourcarpet.carpet": {
        "params": {
            "plotly_name": "carpet",
            "parent_name": "contourcarpet",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "contourcarpet.btype": {
        "params": {
            "plotly_name": "btype",
            "parent_name": "contourcarpet",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "array",
                "scaled"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.b0": {
        "params": {
            "plotly_name": "b0",
            "parent_name": "contourcarpet",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "contourcarpet.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "contourcarpet",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "ytype": "array"
            }
        },
        "superclass": "DataArrayValidator"
    },
    "contourcarpet.autocontour": {
        "params": {
            "plotly_name": "autocontour",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "contourcarpet",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "contourcarpet.atype": {
        "params": {
            "plotly_name": "atype",
            "parent_name": "contourcarpet",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "array",
                "scaled"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contourcarpet.a0": {
        "params": {
            "plotly_name": "a0",
            "parent_name": "contourcarpet",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "contourcarpet.a": {
        "params": {
            "plotly_name": "a",
            "parent_name": "contourcarpet",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "xtype": "array"
            }
        },
        "superclass": "DataArrayValidator"
    },
    "contour": {
        "params": {
            "plotly_name": "contour",
            "parent_name": "",
            "data_class_str": "Contour",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "contour",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "contour.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "contour.zmid": {
        "params": {
            "plotly_name": "zmid",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "contour.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "contour.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "contour",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "contour.zauto": {
        "params": {
            "plotly_name": "zauto",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "contour.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contour.ytype": {
        "params": {
            "plotly_name": "ytype",
            "parent_name": "contour",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "array",
                "scaled"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.yperiodalignment": {
        "params": {
            "plotly_name": "yperiodalignment",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "ytype": "scaled"
            },
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.yperiod0": {
        "params": {
            "plotly_name": "yperiod0",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "contour.yperiod": {
        "params": {
            "plotly_name": "yperiod",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "contour.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "contour",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "contour.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "contour",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "contour",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "contour.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "contour",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "contour.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "contour",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "ytype": "array"
            }
        },
        "superclass": "DataArrayValidator"
    },
    "contour.xtype": {
        "params": {
            "plotly_name": "xtype",
            "parent_name": "contour",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "array",
                "scaled"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "xtype": "scaled"
            },
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "contour.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "contour.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "contour",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "contour.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "contour",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "contour",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "contour.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "contour",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "AnyValidator"
    },
    "contour.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "contour",
            "edit_type": "calc+clearAxisTypes",
            "implied_edits": {
                "xtype": "array"
            }
        },
        "superclass": "DataArrayValidator"
    },
    "contour.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "contour",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "contour",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "contour.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "contour",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "contour.transpose": {
        "params": {
            "plotly_name": "transpose",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "contour.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "contour",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "contour.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "contour",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "contour.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "contour",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contour.textfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contour.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contour.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contour.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contour.textfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contour.textfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contour.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contour.textfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "contour.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contour.textfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contour.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contour.textfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contour.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contour.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "contour.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contour.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "contour.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "contour",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "contour.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "contour",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "contour.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "contour",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.ncontours": {
        "params": {
            "plotly_name": "ncontours",
            "parent_name": "contour",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contour.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "contour",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "contour.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "contour",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "contour.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "contour",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "contour.line",
            "edit_type": "style+colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.line.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "contour.line",
            "edit_type": "plot",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.line.dash": {
        "params": {
            "plotly_name": "dash",
            "parent_name": "contour.line",
            "edit_type": "style",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "contour.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contour.line",
            "edit_type": "style+colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contour.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "contour",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "contour",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "contour.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "contour",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "contour.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "contour.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "contour.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contour.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contour.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "contour.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contour.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contour.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contour.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "contour.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "contour",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "contour.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "contour",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "contour.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contour.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contour.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "contour",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "contour.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "contour",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "contour.hoverongaps": {
        "params": {
            "plotly_name": "hoverongaps",
            "parent_name": "contour",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "contour.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "contour",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "contour.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "contour.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "contour.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "contour.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "contour.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contour.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contour.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "contour.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contour.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contour.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contour.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "contour.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "contour.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "contour.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "contour.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "contour.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "contour.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "contour",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contour.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "contour",
            "edit_type": "calc",
            "colorscale_path": "contour.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "contour.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "ytype": "scaled"
            }
        },
        "superclass": "NumberValidator"
    },
    "contour.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "xtype": "scaled"
            }
        },
        "superclass": "NumberValidator"
    },
    "contour.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "contour.contours": {
        "params": {
            "plotly_name": "contours",
            "parent_name": "contour",
            "data_class_str": "Contours",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.contours.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "contour.contours",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "contour.contours.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "contour.contours",
            "edit_type": "calc",
            "values": [
                "levels",
                "constraint"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.contours.start": {
        "params": {
            "plotly_name": "start",
            "parent_name": "contour.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            }
        },
        "superclass": "NumberValidator"
    },
    "contour.contours.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contour.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            },
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.contours.showlines": {
        "params": {
            "plotly_name": "showlines",
            "parent_name": "contour.contours",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "contour.contours.showlabels": {
        "params": {
            "plotly_name": "showlabels",
            "parent_name": "contour.contours",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "contour.contours.operation": {
        "params": {
            "plotly_name": "operation",
            "parent_name": "contour.contours",
            "edit_type": "calc",
            "values": [
                "=",
                "<",
                ">=",
                ">",
                "<=",
                "[]",
                "()",
                "[)",
                "(]",
                "][",
                ")(",
                "](",
                ")["
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.contours.labelformat": {
        "params": {
            "plotly_name": "labelformat",
            "parent_name": "contour.contours",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "contour.contours.labelfont": {
        "params": {
            "plotly_name": "labelfont",
            "parent_name": "contour.contours",
            "data_class_str": "Labelfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.contours.labelfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "plot",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contour.contours.labelfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.contours.labelfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.contours.labelfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "plot",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.contours.labelfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "plot",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contour.contours.labelfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "contour.contours.labelfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "plot",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contour.contours.labelfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "plot",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contour.contours.labelfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contour.contours.labelfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "contour.contours.end": {
        "params": {
            "plotly_name": "end",
            "parent_name": "contour.contours",
            "edit_type": "plot",
            "implied_edits": {
                "^autocontour": false
            }
        },
        "superclass": "NumberValidator"
    },
    "contour.contours.coloring": {
        "params": {
            "plotly_name": "coloring",
            "parent_name": "contour.contours",
            "edit_type": "calc",
            "values": [
                "fill",
                "heatmap",
                "lines",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.connectgaps": {
        "params": {
            "plotly_name": "connectgaps",
            "parent_name": "contour",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "contour.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "contour.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "contour",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "contour.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "contour.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "contour.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "contour.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "contour.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contour.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contour.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contour.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contour.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "contour.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "contour.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contour.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "contour.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "contour.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "contour.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "contour.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "contour.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "contour.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "contour.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "contour.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "contour.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "contour.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "contour.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "contour.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "contour.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "contour.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "contour.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "contour.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contour.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contour.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "contour.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "contour.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "contour.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "contour.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contour.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "contour.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "contour.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "contour.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "contour.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "contour.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contour.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "contour.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "contour.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "contour",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "contour.autocontour": {
        "params": {
            "plotly_name": "autocontour",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "contour.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "contour",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "cone": {
        "params": {
            "plotly_name": "cone",
            "parent_name": "",
            "data_class_str": "Cone",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.zhoverformat": {
        "params": {
            "plotly_name": "zhoverformat",
            "parent_name": "cone",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "cone.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "cone",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "cone",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "cone.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "cone",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "cone",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "cone.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "cone",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.whoverformat": {
        "params": {
            "plotly_name": "whoverformat",
            "parent_name": "cone",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "cone.w": {
        "params": {
            "plotly_name": "w",
            "parent_name": "cone",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "cone",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.vhoverformat": {
        "params": {
            "plotly_name": "vhoverformat",
            "parent_name": "cone",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "cone.v": {
        "params": {
            "plotly_name": "v",
            "parent_name": "cone",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "cone",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "cone.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "cone",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "cone.uhoverformat": {
        "params": {
            "plotly_name": "uhoverformat",
            "parent_name": "cone",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "cone.u": {
        "params": {
            "plotly_name": "u",
            "parent_name": "cone",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "cone",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "cone.sizeref": {
        "params": {
            "plotly_name": "sizeref",
            "parent_name": "cone",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "cone",
            "edit_type": "calc",
            "values": [
                "scaled",
                "absolute",
                "raw"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "cone",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "cone.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "cone",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "cone.scene": {
        "params": {
            "plotly_name": "scene",
            "parent_name": "cone",
            "dflt": "scene",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "cone.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "cone",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "cone.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "cone",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "cone",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "cone.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "cone",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "cone.lightposition": {
        "params": {
            "plotly_name": "lightposition",
            "parent_name": "cone",
            "data_class_str": "Lightposition",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.lightposition.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "cone.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "cone.lightposition.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "cone.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "cone.lightposition.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "cone.lightposition",
            "edit_type": "calc",
            "max": 100000,
            "min": -100000
        },
        "superclass": "NumberValidator"
    },
    "cone.lighting": {
        "params": {
            "plotly_name": "lighting",
            "parent_name": "cone",
            "data_class_str": "Lighting",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.lighting.vertexnormalsepsilon": {
        "params": {
            "plotly_name": "vertexnormalsepsilon",
            "parent_name": "cone.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.lighting.specular": {
        "params": {
            "plotly_name": "specular",
            "parent_name": "cone.lighting",
            "edit_type": "calc",
            "max": 2,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.lighting.roughness": {
        "params": {
            "plotly_name": "roughness",
            "parent_name": "cone.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.lighting.fresnel": {
        "params": {
            "plotly_name": "fresnel",
            "parent_name": "cone.lighting",
            "edit_type": "calc",
            "max": 5,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.lighting.facenormalsepsilon": {
        "params": {
            "plotly_name": "facenormalsepsilon",
            "parent_name": "cone.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.lighting.diffuse": {
        "params": {
            "plotly_name": "diffuse",
            "parent_name": "cone.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.lighting.ambient": {
        "params": {
            "plotly_name": "ambient",
            "parent_name": "cone.lighting",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "cone",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "cone",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "cone.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "cone",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "cone.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "cone.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "cone.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "cone.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "cone.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "cone.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "cone.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "cone.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "cone.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "cone.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "cone",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "cone.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "cone",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "cone.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "cone",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "cone",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "cone.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "cone",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "cone.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "cone",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "cone.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "cone",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "cone.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "cone.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "cone.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "cone.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "cone.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "cone.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "cone.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "cone.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "cone.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "cone.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "cone.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "cone.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "cone.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "cone.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "cone.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "cone.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "cone.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "cone",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "u",
                "v",
                "w",
                "norm",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "cone.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "cone",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "cone",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "cone.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "cone",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "cone.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "cone.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "cone.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "cone.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "cone.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "cone.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "cone.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "cone.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "cone.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "cone.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "cone.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "cone.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "cone.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "cone.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "cone.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "cone.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "cone.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "cone.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "cone.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "cone.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "cone.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "cone.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "cone.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "cone.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "cone.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "cone.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "cone.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "cone.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "cone.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "cone.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "cone.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "cone.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "cone.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "cone.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "cone.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "cone.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "cone.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "cone.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "cone.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "cone.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "cone.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "cone.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "cone",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "cone.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "cone",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "cone.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "cone",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "cone.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "cone",
            "edit_type": "calc",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "cone.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "cone",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "cone.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "cone",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "cone.anchor": {
        "params": {
            "plotly_name": "anchor",
            "parent_name": "cone",
            "edit_type": "calc",
            "values": [
                "tip",
                "tail",
                "cm",
                "center"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap": {
        "params": {
            "plotly_name": "choroplethmap",
            "parent_name": "",
            "data_class_str": "Choroplethmap",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "choroplethmap",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.zmid": {
        "params": {
            "plotly_name": "zmid",
            "parent_name": "choroplethmap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "choroplethmap",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.zauto": {
        "params": {
            "plotly_name": "zauto",
            "parent_name": "choroplethmap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "choroplethmap.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "choroplethmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "choroplethmap.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "choroplethmap",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "choroplethmap",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "choroplethmap.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "choroplethmap.unselected.marker",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "choroplethmap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "choroplethmap.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "choroplethmap",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "choroplethmap",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.subplot": {
        "params": {
            "plotly_name": "subplot",
            "parent_name": "choroplethmap",
            "dflt": "map",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "choroplethmap.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "choroplethmap",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "choroplethmap.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "choroplethmap",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "choroplethmap.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "choroplethmap",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "choroplethmap.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "choroplethmap",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "choroplethmap.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "choroplethmap.selected.marker",
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "choroplethmap",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "choroplethmap.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "choroplethmap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "choroplethmap",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "choroplethmap.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "choroplethmap",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "choroplethmap.marker",
            "array_ok": true,
            "edit_type": "plot",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "choroplethmap.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "choroplethmap.marker.line",
            "array_ok": true,
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choroplethmap.marker.line",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "choroplethmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "choroplethmap.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "choroplethmap",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "choroplethmap",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "choroplethmap",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "choroplethmap.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "choroplethmap.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choroplethmap.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choroplethmap.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choroplethmap.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "choroplethmap",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "choroplethmap",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "choroplethmap.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "choroplethmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "choroplethmap.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "choroplethmap",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "choroplethmap",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "choroplethmap.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "choroplethmap",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "choroplethmap",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "choroplethmap.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "choroplethmap.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "choroplethmap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "choroplethmap.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "choroplethmap.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choroplethmap.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choroplethmap.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choroplethmap.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "choroplethmap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "choroplethmap.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "choroplethmap.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "choroplethmap",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "location",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choroplethmap.geojson": {
        "params": {
            "plotly_name": "geojson",
            "parent_name": "choroplethmap",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "choroplethmap.featureidkey": {
        "params": {
            "plotly_name": "featureidkey",
            "parent_name": "choroplethmap",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "choroplethmap",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "choroplethmap.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "choroplethmap",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "choroplethmap.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "choroplethmap",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "choroplethmap.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "choroplethmap.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "choroplethmap.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "choroplethmap.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "choroplethmap.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choroplethmap.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choroplethmap.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choroplethmap.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "choroplethmap.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "choroplethmap.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choroplethmap.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "choroplethmap.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "choroplethmap.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "choroplethmap.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "choroplethmap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "choroplethmap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "choroplethmap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "choroplethmap.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "choroplethmap.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "choroplethmap.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "choroplethmap.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "choroplethmap.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choroplethmap.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choroplethmap.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choroplethmap.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choroplethmap.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "choroplethmap.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "choroplethmap.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "choroplethmap.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "choroplethmap.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "choroplethmap.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "choroplethmap.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choroplethmap.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "choroplethmap.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choroplethmap.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "choroplethmap.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choroplethmap.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "choroplethmap",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "choroplethmap.below": {
        "params": {
            "plotly_name": "below",
            "parent_name": "choroplethmap",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "choroplethmap.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "choroplethmap",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "choropleth": {
        "params": {
            "plotly_name": "choropleth",
            "parent_name": "",
            "data_class_str": "Choropleth",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.zmin": {
        "params": {
            "plotly_name": "zmin",
            "parent_name": "choropleth",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "choropleth.zmid": {
        "params": {
            "plotly_name": "zmid",
            "parent_name": "choropleth",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "choropleth.zmax": {
        "params": {
            "plotly_name": "zmax",
            "parent_name": "choropleth",
            "edit_type": "calc",
            "implied_edits": {
                "zauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "choropleth.zauto": {
        "params": {
            "plotly_name": "zauto",
            "parent_name": "choropleth",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "choropleth.z": {
        "params": {
            "plotly_name": "z",
            "parent_name": "choropleth",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "choropleth.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "choropleth",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "choropleth",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "choropleth.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "choropleth.unselected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "choropleth",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "choropleth.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "choropleth",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "choropleth.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "choropleth",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "choropleth.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "choropleth",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "choropleth.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "choropleth",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "choropleth.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "choropleth",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "choropleth.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "choropleth",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "choropleth.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "choropleth.selected.marker",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "choropleth",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "choropleth.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "choropleth",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "choropleth.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "choropleth",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "choropleth.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "choropleth",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "choropleth.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "choropleth.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "choropleth.marker.line",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choropleth.marker.line",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.locations": {
        "params": {
            "plotly_name": "locations",
            "parent_name": "choropleth",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "choropleth.locationmode": {
        "params": {
            "plotly_name": "locationmode",
            "parent_name": "choropleth",
            "edit_type": "calc",
            "values": [
                "ISO-3",
                "USA-states",
                "country names",
                "geojson-id"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "choropleth",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "choropleth",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "choropleth.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "choropleth",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "choropleth.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "choropleth.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "choropleth.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choropleth.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "choropleth.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "choropleth.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choropleth.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "choropleth.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choropleth.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "choropleth",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "choropleth.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "choropleth",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "choropleth.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "choropleth",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "choropleth.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "choropleth",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "choropleth.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "choropleth",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "choropleth.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "choropleth",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "choropleth.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "choropleth",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "choropleth.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "choropleth.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "choropleth.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "choropleth.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "choropleth.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choropleth.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "choropleth.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "choropleth.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choropleth.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "choropleth.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choropleth.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "choropleth.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "choropleth.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "choropleth.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "choropleth",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "location",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choropleth.geojson": {
        "params": {
            "plotly_name": "geojson",
            "parent_name": "choropleth",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "choropleth.geo": {
        "params": {
            "plotly_name": "geo",
            "parent_name": "choropleth",
            "dflt": "geo",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "choropleth.featureidkey": {
        "params": {
            "plotly_name": "featureidkey",
            "parent_name": "choropleth",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "choropleth.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "choropleth",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "choropleth.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "choropleth",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "choropleth.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "choropleth",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "choropleth.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "choropleth.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "choropleth.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "choropleth.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "choropleth.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choropleth.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choropleth.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choropleth.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "choropleth.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "choropleth.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choropleth.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "choropleth.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "choropleth.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "choropleth.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "choropleth.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "choropleth.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "choropleth.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "choropleth.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "choropleth.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "choropleth.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "choropleth.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "choropleth.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "choropleth.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "choropleth.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "choropleth.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "choropleth.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "choropleth.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "choropleth.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "choropleth.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "choropleth.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "choropleth.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "choropleth.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "choropleth.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "choropleth.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "choropleth.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "choropleth.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "choropleth.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "choropleth.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "choropleth",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "choropleth.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "choropleth",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "carpet": {
        "params": {
            "plotly_name": "carpet",
            "parent_name": "",
            "data_class_str": "Carpet",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "carpet",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "carpet.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "carpet",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "carpet.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "carpet",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "carpet",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "carpet.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "carpet",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "carpet",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "carpet",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "carpet.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "carpet",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "carpet.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "carpet",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "carpet",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "carpet.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "carpet",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "carpet.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "carpet",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "carpet",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "carpet.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "carpet",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "carpet.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "carpet.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "carpet.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "carpet.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "carpet.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "carpet.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "carpet.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "carpet.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "carpet.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "carpet",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "carpet.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "carpet",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "carpet",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "carpet.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "carpet.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "carpet.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "carpet.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "carpet.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "carpet.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "carpet.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "carpet.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "carpet.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "carpet.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "carpet.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "carpet.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.db": {
        "params": {
            "plotly_name": "db",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.da": {
        "params": {
            "plotly_name": "da",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet",
            "edit_type": "plot"
        },
        "superclass": "ColorValidator"
    },
    "carpet.cheaterslope": {
        "params": {
            "plotly_name": "cheaterslope",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.carpet": {
        "params": {
            "plotly_name": "carpet",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis": {
        "params": {
            "plotly_name": "baxis",
            "parent_name": "carpet",
            "data_class_str": "Baxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.baxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "-",
                "linear",
                "date",
                "category"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "carpet.baxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "carpet.baxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "carpet.baxis.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.title.offset": {
        "params": {
            "plotly_name": "offset",
            "parent_name": "carpet.baxis.title",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "carpet.baxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.baxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "carpet.baxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "carpet.baxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet.baxis.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.baxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.baxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.baxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "carpet.baxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.baxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "carpet.baxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "carpet.baxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "carpet.baxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "carpet.baxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "carpet.baxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "carpet.baxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.baxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "carpet.baxis.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "carpet.baxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "carpet.baxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.baxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "carpet.baxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "carpet.baxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet.baxis.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.baxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "carpet.baxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.startlinewidth": {
        "params": {
            "plotly_name": "startlinewidth",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.startlinecolor": {
        "params": {
            "plotly_name": "startlinecolor",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.baxis.startline": {
        "params": {
            "plotly_name": "startline",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.baxis.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "start",
                "end",
                "both",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.baxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.baxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.baxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "normal",
                "tozero",
                "nonnegative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "carpet.baxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "carpet.baxis.minorgridwidth": {
        "params": {
            "plotly_name": "minorgridwidth",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.minorgriddash": {
        "params": {
            "plotly_name": "minorgriddash",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "carpet.baxis.minorgridcount": {
        "params": {
            "plotly_name": "minorgridcount",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "carpet.baxis.minorgridcolor": {
        "params": {
            "plotly_name": "minorgridcolor",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.baxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.baxis.labelsuffix": {
        "params": {
            "plotly_name": "labelsuffix",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.labelprefix": {
        "params": {
            "plotly_name": "labelprefix",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.baxis.labelpadding": {
        "params": {
            "plotly_name": "labelpadding",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "IntegerValidator"
    },
    "carpet.baxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "carpet.baxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "carpet.baxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.baxis.fixedrange": {
        "params": {
            "plotly_name": "fixedrange",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.baxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.endlinewidth": {
        "params": {
            "plotly_name": "endlinewidth",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.endlinecolor": {
        "params": {
            "plotly_name": "endlinecolor",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.baxis.endline": {
        "params": {
            "plotly_name": "endline",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.baxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.baxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.baxis.cheatertype": {
        "params": {
            "plotly_name": "cheatertype",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "index",
                "value"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "carpet.baxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.baxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "reversed"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.baxis.arraytick0": {
        "params": {
            "plotly_name": "arraytick0",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "carpet.baxis.arraydtick": {
        "params": {
            "plotly_name": "arraydtick",
            "parent_name": "carpet.baxis",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "carpet.b0": {
        "params": {
            "plotly_name": "b0",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.b": {
        "params": {
            "plotly_name": "b",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.aaxis": {
        "params": {
            "plotly_name": "aaxis",
            "parent_name": "carpet",
            "data_class_str": "Aaxis",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.aaxis.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "-",
                "linear",
                "date",
                "category"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "carpet.aaxis",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "carpet.aaxis.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "carpet.aaxis.title",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.title.offset": {
        "params": {
            "plotly_name": "offset",
            "parent_name": "carpet.aaxis.title",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "carpet.aaxis.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.aaxis.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "carpet.aaxis.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "carpet.aaxis.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet.aaxis.title.font",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.aaxis.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.aaxis.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.aaxis.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "carpet.aaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.aaxis.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "carpet.aaxis",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "carpet.aaxis.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "carpet.aaxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "carpet.aaxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "carpet.aaxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "carpet.aaxis.tickformatstop",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.aaxis.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "carpet.aaxis.tickformatstop",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "carpet.aaxis.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "carpet.aaxis",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "carpet.aaxis.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "carpet.aaxis.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "carpet.aaxis.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet.aaxis.tickfont",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.aaxis.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "carpet.aaxis.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.startlinewidth": {
        "params": {
            "plotly_name": "startlinewidth",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.startlinecolor": {
        "params": {
            "plotly_name": "startlinecolor",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.aaxis.startline": {
        "params": {
            "plotly_name": "startline",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.aaxis.smoothing": {
        "params": {
            "plotly_name": "smoothing",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "max": 1.3,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "start",
                "end",
                "both",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.showline": {
        "params": {
            "plotly_name": "showline",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.aaxis.showgrid": {
        "params": {
            "plotly_name": "showgrid",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.aaxis.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.aaxis.rangemode": {
        "params": {
            "plotly_name": "rangemode",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "normal",
                "tozero",
                "nonnegative"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.range": {
        "params": {
            "plotly_name": "range",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "items": [
                {
                    "editType": "calc",
                    "valType": "any"
                },
                {
                    "editType": "calc",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "carpet.aaxis.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "carpet.aaxis.minorgridwidth": {
        "params": {
            "plotly_name": "minorgridwidth",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.minorgriddash": {
        "params": {
            "plotly_name": "minorgriddash",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "carpet.aaxis.minorgridcount": {
        "params": {
            "plotly_name": "minorgridcount",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "carpet.aaxis.minorgridcolor": {
        "params": {
            "plotly_name": "minorgridcolor",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.aaxis.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.linewidth": {
        "params": {
            "plotly_name": "linewidth",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.linecolor": {
        "params": {
            "plotly_name": "linecolor",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.aaxis.labelsuffix": {
        "params": {
            "plotly_name": "labelsuffix",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.labelprefix": {
        "params": {
            "plotly_name": "labelprefix",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "carpet.aaxis.labelpadding": {
        "params": {
            "plotly_name": "labelpadding",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "IntegerValidator"
    },
    "carpet.aaxis.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "carpet.aaxis.gridwidth": {
        "params": {
            "plotly_name": "gridwidth",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.griddash": {
        "params": {
            "plotly_name": "griddash",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "solid",
                "dot",
                "dash",
                "longdash",
                "dashdot",
                "longdashdot"
            ]
        },
        "superclass": "DashValidator"
    },
    "carpet.aaxis.gridcolor": {
        "params": {
            "plotly_name": "gridcolor",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.aaxis.fixedrange": {
        "params": {
            "plotly_name": "fixedrange",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.aaxis.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.endlinewidth": {
        "params": {
            "plotly_name": "endlinewidth",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.endlinecolor": {
        "params": {
            "plotly_name": "endlinecolor",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.aaxis.endline": {
        "params": {
            "plotly_name": "endline",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "carpet.aaxis.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "carpet.aaxis.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "ColorValidator"
    },
    "carpet.aaxis.cheatertype": {
        "params": {
            "plotly_name": "cheatertype",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "index",
                "value"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.categoryorder": {
        "params": {
            "plotly_name": "categoryorder",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "trace",
                "category ascending",
                "category descending",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.categoryarray": {
        "params": {
            "plotly_name": "categoryarray",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "carpet.aaxis.autotypenumbers": {
        "params": {
            "plotly_name": "autotypenumbers",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                "convert types",
                "strict"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.autorange": {
        "params": {
            "plotly_name": "autorange",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "reversed"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "carpet.aaxis.arraytick0": {
        "params": {
            "plotly_name": "arraytick0",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "carpet.aaxis.arraydtick": {
        "params": {
            "plotly_name": "arraydtick",
            "parent_name": "carpet.aaxis",
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "carpet.a0": {
        "params": {
            "plotly_name": "a0",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "carpet.a": {
        "params": {
            "plotly_name": "a",
            "parent_name": "carpet",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "candlestick": {
        "params": {
            "plotly_name": "candlestick",
            "parent_name": "",
            "data_class_str": "Candlestick",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "candlestick",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "candlestick.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "candlestick",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "candlestick.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "candlestick",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "candlestick.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "candlestick",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "candlestick.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "candlestick.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "candlestick",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "candlestick.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "candlestick",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "candlestick",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "candlestick.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "candlestick",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "candlestick.whiskerwidth": {
        "params": {
            "plotly_name": "whiskerwidth",
            "parent_name": "candlestick",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "candlestick.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "candlestick",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "candlestick",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "candlestick.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "candlestick",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "candlestick.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "candlestick",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "candlestick.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "candlestick",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "candlestick.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "candlestick.open": {
        "params": {
            "plotly_name": "open",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "candlestick.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "candlestick",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "candlestick.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "candlestick",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "candlestick.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "candlestick",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "candlestick.low": {
        "params": {
            "plotly_name": "low",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "candlestick.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "candlestick",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "candlestick.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "candlestick.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "candlestick",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "candlestick.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "candlestick",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "candlestick.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "candlestick",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "candlestick.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "candlestick.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "candlestick.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "candlestick.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "candlestick.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "candlestick.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "candlestick.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "candlestick.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "candlestick.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "candlestick.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "candlestick",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "candlestick.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "candlestick",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "candlestick.increasing": {
        "params": {
            "plotly_name": "increasing",
            "parent_name": "candlestick",
            "data_class_str": "Increasing",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.increasing.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "candlestick.increasing",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.increasing.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "candlestick.increasing.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "candlestick.increasing.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "candlestick.increasing.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "candlestick.increasing.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "candlestick.increasing",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "candlestick.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "candlestick.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "candlestick",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "candlestick.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "candlestick",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "candlestick.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "candlestick",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "candlestick.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "candlestick",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.hoverlabel.split": {
        "params": {
            "plotly_name": "split",
            "parent_name": "candlestick.hoverlabel",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "candlestick.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "candlestick.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "candlestick.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "candlestick.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "candlestick.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "candlestick.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "candlestick.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "candlestick.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "candlestick.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "candlestick.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "candlestick.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "candlestick.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "candlestick.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "candlestick.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "candlestick.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "candlestick.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "candlestick.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "candlestick.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "candlestick.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "candlestick",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "candlestick.high": {
        "params": {
            "plotly_name": "high",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "candlestick.decreasing": {
        "params": {
            "plotly_name": "decreasing",
            "parent_name": "candlestick",
            "data_class_str": "Decreasing",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.decreasing.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "candlestick.decreasing",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "candlestick.decreasing.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "candlestick.decreasing.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "candlestick.decreasing.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "candlestick.decreasing.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "candlestick.decreasing.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "candlestick.decreasing",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "candlestick.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "candlestick.close": {
        "params": {
            "plotly_name": "close",
            "parent_name": "candlestick",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "box": {
        "params": {
            "plotly_name": "box",
            "parent_name": "",
            "data_class_str": "Box",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "box",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "box.yperiodalignment": {
        "params": {
            "plotly_name": "yperiodalignment",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.yperiod0": {
        "params": {
            "plotly_name": "yperiod0",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "box.yperiod": {
        "params": {
            "plotly_name": "yperiod",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "box.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "box",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "box.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "box",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "box.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "box.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "box.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "box.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "box.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "box",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "box.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "box",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "box.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "box.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "box.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "box",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.whiskerwidth": {
        "params": {
            "plotly_name": "whiskerwidth",
            "parent_name": "box",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.upperfence": {
        "params": {
            "plotly_name": "upperfence",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "box.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "box",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "box.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.unselected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "box.unselected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "box.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "box.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "box",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "box.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "box",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "box.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "box",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "box.sizemode": {
        "params": {
            "plotly_name": "sizemode",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                "quartiles",
                "sd"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.showwhiskers": {
        "params": {
            "plotly_name": "showwhiskers",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "box.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "box",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "box.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "box.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "box",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "box.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.selected.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "box.selected.marker",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "box.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "box.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.sdmultiple": {
        "params": {
            "plotly_name": "sdmultiple",
            "parent_name": "box",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.sd": {
        "params": {
            "plotly_name": "sd",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "box.quartilemethod": {
        "params": {
            "plotly_name": "quartilemethod",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                "linear",
                "exclusive",
                "inclusive"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.q3": {
        "params": {
            "plotly_name": "q3",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "box.q1": {
        "params": {
            "plotly_name": "q1",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "box.pointpos": {
        "params": {
            "plotly_name": "pointpos",
            "parent_name": "box",
            "edit_type": "calc",
            "max": 2,
            "min": -2
        },
        "superclass": "NumberValidator"
    },
    "box.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "box",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.offsetgroup": {
        "params": {
            "plotly_name": "offsetgroup",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "box.notchwidth": {
        "params": {
            "plotly_name": "notchwidth",
            "parent_name": "box",
            "edit_type": "calc",
            "max": 0.5,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.notchspan": {
        "params": {
            "plotly_name": "notchspan",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "box.notched": {
        "params": {
            "plotly_name": "notched",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "box.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "StringValidator"
    },
    "box.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "box",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "box.median": {
        "params": {
            "plotly_name": "median",
            "parent_name": "box",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "box.mean": {
        "params": {
            "plotly_name": "mean",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "box.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "box",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.marker.symbol": {
        "params": {
            "plotly_name": "symbol",
            "parent_name": "box.marker",
            "array_ok": false,
            "edit_type": "plot",
            "values": [
                0,
                "0",
                "circle",
                100,
                "100",
                "circle-open",
                200,
                "200",
                "circle-dot",
                300,
                "300",
                "circle-open-dot",
                1,
                "1",
                "square",
                101,
                "101",
                "square-open",
                201,
                "201",
                "square-dot",
                301,
                "301",
                "square-open-dot",
                2,
                "2",
                "diamond",
                102,
                "102",
                "diamond-open",
                202,
                "202",
                "diamond-dot",
                302,
                "302",
                "diamond-open-dot",
                3,
                "3",
                "cross",
                103,
                "103",
                "cross-open",
                203,
                "203",
                "cross-dot",
                303,
                "303",
                "cross-open-dot",
                4,
                "4",
                "x",
                104,
                "104",
                "x-open",
                204,
                "204",
                "x-dot",
                304,
                "304",
                "x-open-dot",
                5,
                "5",
                "triangle-up",
                105,
                "105",
                "triangle-up-open",
                205,
                "205",
                "triangle-up-dot",
                305,
                "305",
                "triangle-up-open-dot",
                6,
                "6",
                "triangle-down",
                106,
                "106",
                "triangle-down-open",
                206,
                "206",
                "triangle-down-dot",
                306,
                "306",
                "triangle-down-open-dot",
                7,
                "7",
                "triangle-left",
                107,
                "107",
                "triangle-left-open",
                207,
                "207",
                "triangle-left-dot",
                307,
                "307",
                "triangle-left-open-dot",
                8,
                "8",
                "triangle-right",
                108,
                "108",
                "triangle-right-open",
                208,
                "208",
                "triangle-right-dot",
                308,
                "308",
                "triangle-right-open-dot",
                9,
                "9",
                "triangle-ne",
                109,
                "109",
                "triangle-ne-open",
                209,
                "209",
                "triangle-ne-dot",
                309,
                "309",
                "triangle-ne-open-dot",
                10,
                "10",
                "triangle-se",
                110,
                "110",
                "triangle-se-open",
                210,
                "210",
                "triangle-se-dot",
                310,
                "310",
                "triangle-se-open-dot",
                11,
                "11",
                "triangle-sw",
                111,
                "111",
                "triangle-sw-open",
                211,
                "211",
                "triangle-sw-dot",
                311,
                "311",
                "triangle-sw-open-dot",
                12,
                "12",
                "triangle-nw",
                112,
                "112",
                "triangle-nw-open",
                212,
                "212",
                "triangle-nw-dot",
                312,
                "312",
                "triangle-nw-open-dot",
                13,
                "13",
                "pentagon",
                113,
                "113",
                "pentagon-open",
                213,
                "213",
                "pentagon-dot",
                313,
                "313",
                "pentagon-open-dot",
                14,
                "14",
                "hexagon",
                114,
                "114",
                "hexagon-open",
                214,
                "214",
                "hexagon-dot",
                314,
                "314",
                "hexagon-open-dot",
                15,
                "15",
                "hexagon2",
                115,
                "115",
                "hexagon2-open",
                215,
                "215",
                "hexagon2-dot",
                315,
                "315",
                "hexagon2-open-dot",
                16,
                "16",
                "octagon",
                116,
                "116",
                "octagon-open",
                216,
                "216",
                "octagon-dot",
                316,
                "316",
                "octagon-open-dot",
                17,
                "17",
                "star",
                117,
                "117",
                "star-open",
                217,
                "217",
                "star-dot",
                317,
                "317",
                "star-open-dot",
                18,
                "18",
                "hexagram",
                118,
                "118",
                "hexagram-open",
                218,
                "218",
                "hexagram-dot",
                318,
                "318",
                "hexagram-open-dot",
                19,
                "19",
                "star-triangle-up",
                119,
                "119",
                "star-triangle-up-open",
                219,
                "219",
                "star-triangle-up-dot",
                319,
                "319",
                "star-triangle-up-open-dot",
                20,
                "20",
                "star-triangle-down",
                120,
                "120",
                "star-triangle-down-open",
                220,
                "220",
                "star-triangle-down-dot",
                320,
                "320",
                "star-triangle-down-open-dot",
                21,
                "21",
                "star-square",
                121,
                "121",
                "star-square-open",
                221,
                "221",
                "star-square-dot",
                321,
                "321",
                "star-square-open-dot",
                22,
                "22",
                "star-diamond",
                122,
                "122",
                "star-diamond-open",
                222,
                "222",
                "star-diamond-dot",
                322,
                "322",
                "star-diamond-open-dot",
                23,
                "23",
                "diamond-tall",
                123,
                "123",
                "diamond-tall-open",
                223,
                "223",
                "diamond-tall-dot",
                323,
                "323",
                "diamond-tall-open-dot",
                24,
                "24",
                "diamond-wide",
                124,
                "124",
                "diamond-wide-open",
                224,
                "224",
                "diamond-wide-dot",
                324,
                "324",
                "diamond-wide-open-dot",
                25,
                "25",
                "hourglass",
                125,
                "125",
                "hourglass-open",
                26,
                "26",
                "bowtie",
                126,
                "126",
                "bowtie-open",
                27,
                "27",
                "circle-cross",
                127,
                "127",
                "circle-cross-open",
                28,
                "28",
                "circle-x",
                128,
                "128",
                "circle-x-open",
                29,
                "29",
                "square-cross",
                129,
                "129",
                "square-cross-open",
                30,
                "30",
                "square-x",
                130,
                "130",
                "square-x-open",
                31,
                "31",
                "diamond-cross",
                131,
                "131",
                "diamond-cross-open",
                32,
                "32",
                "diamond-x",
                132,
                "132",
                "diamond-x-open",
                33,
                "33",
                "cross-thin",
                133,
                "133",
                "cross-thin-open",
                34,
                "34",
                "x-thin",
                134,
                "134",
                "x-thin-open",
                35,
                "35",
                "asterisk",
                135,
                "135",
                "asterisk-open",
                36,
                "36",
                "hash",
                136,
                "136",
                "hash-open",
                236,
                "236",
                "hash-dot",
                336,
                "336",
                "hash-open-dot",
                37,
                "37",
                "y-up",
                137,
                "137",
                "y-up-open",
                38,
                "38",
                "y-down",
                138,
                "138",
                "y-down-open",
                39,
                "39",
                "y-left",
                139,
                "139",
                "y-left-open",
                40,
                "40",
                "y-right",
                140,
                "140",
                "y-right-open",
                41,
                "41",
                "line-ew",
                141,
                "141",
                "line-ew-open",
                42,
                "42",
                "line-ns",
                142,
                "142",
                "line-ns-open",
                43,
                "43",
                "line-ne",
                143,
                "143",
                "line-ne-open",
                44,
                "44",
                "line-nw",
                144,
                "144",
                "line-nw-open",
                45,
                "45",
                "arrow-up",
                145,
                "145",
                "arrow-up-open",
                46,
                "46",
                "arrow-down",
                146,
                "146",
                "arrow-down-open",
                47,
                "47",
                "arrow-left",
                147,
                "147",
                "arrow-left-open",
                48,
                "48",
                "arrow-right",
                148,
                "148",
                "arrow-right-open",
                49,
                "49",
                "arrow-bar-up",
                149,
                "149",
                "arrow-bar-up-open",
                50,
                "50",
                "arrow-bar-down",
                150,
                "150",
                "arrow-bar-down-open",
                51,
                "51",
                "arrow-bar-left",
                151,
                "151",
                "arrow-bar-left-open",
                52,
                "52",
                "arrow-bar-right",
                152,
                "152",
                "arrow-bar-right-open",
                53,
                "53",
                "arrow",
                153,
                "153",
                "arrow-open",
                54,
                "54",
                "arrow-wide",
                154,
                "154",
                "arrow-wide-open"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.marker.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "box.marker",
            "array_ok": false,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.marker.outliercolor": {
        "params": {
            "plotly_name": "outliercolor",
            "parent_name": "box.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "box.marker",
            "array_ok": false,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "box.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "box.marker.line",
            "array_ok": false,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.marker.line.outlierwidth": {
        "params": {
            "plotly_name": "outlierwidth",
            "parent_name": "box.marker.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.marker.line.outliercolor": {
        "params": {
            "plotly_name": "outliercolor",
            "parent_name": "box.marker.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "box.marker.line",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "box.marker",
            "array_ok": false,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.marker.angle": {
        "params": {
            "plotly_name": "angle",
            "parent_name": "box.marker",
            "array_ok": false,
            "edit_type": "calc"
        },
        "superclass": "AngleValidator"
    },
    "box.lowerfence": {
        "params": {
            "plotly_name": "lowerfence",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "box.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "box",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "box.line",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "box.line",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "box",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "box",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "box.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "box",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "box.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "box.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "box.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "box.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "box.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "box.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "box.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "box.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "box.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "box",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "box.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "box",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "box.jitter": {
        "params": {
            "plotly_name": "jitter",
            "parent_name": "box",
            "edit_type": "calc",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "box.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "box.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "box",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "box.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "box",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "box.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "box",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "box.hoveron": {
        "params": {
            "plotly_name": "hoveron",
            "parent_name": "box",
            "edit_type": "style",
            "flags": [
                "boxes",
                "points"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "box.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "box",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "box.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "box.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "box.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "box.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "box.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "box.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "box.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "box.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "box.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "box.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "box.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "box.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "box.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "box.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "box.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "box.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "box.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "box.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "box",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "box.fillcolor": {
        "params": {
            "plotly_name": "fillcolor",
            "parent_name": "box",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "box.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "box.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "box.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "box.boxpoints": {
        "params": {
            "plotly_name": "boxpoints",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                "all",
                "outliers",
                "suspectedoutliers",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.boxmean": {
        "params": {
            "plotly_name": "boxmean",
            "parent_name": "box",
            "edit_type": "calc",
            "values": [
                true,
                "sd",
                false
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "box.alignmentgroup": {
        "params": {
            "plotly_name": "alignmentgroup",
            "parent_name": "box",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "barpolar": {
        "params": {
            "plotly_name": "barpolar",
            "parent_name": "",
            "data_class_str": "Barpolar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "barpolar",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "barpolar",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "barpolar",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "barpolar.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "barpolar.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "barpolar.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "barpolar",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "barpolar.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "barpolar",
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "barpolar.thetaunit": {
        "params": {
            "plotly_name": "thetaunit",
            "parent_name": "barpolar",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "radians",
                "degrees",
                "gradians"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.theta0": {
        "params": {
            "plotly_name": "theta0",
            "parent_name": "barpolar",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "barpolar.theta": {
        "params": {
            "plotly_name": "theta",
            "parent_name": "barpolar",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "barpolar.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "barpolar",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "barpolar.subplot": {
        "params": {
            "plotly_name": "subplot",
            "parent_name": "barpolar",
            "dflt": "polar",
            "edit_type": "calc"
        },
        "superclass": "SubplotidValidator"
    },
    "barpolar.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "barpolar",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "barpolar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "barpolar.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "barpolar",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "barpolar.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "barpolar.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "barpolar.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.r0": {
        "params": {
            "plotly_name": "r0",
            "parent_name": "barpolar",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "barpolar.r": {
        "params": {
            "plotly_name": "r",
            "parent_name": "barpolar",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "barpolar.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "barpolar",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.offset": {
        "params": {
            "plotly_name": "offset",
            "parent_name": "barpolar",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "barpolar.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "barpolar",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "barpolar.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "barpolar",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "barpolar.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "barpolar",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "barpolar.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "barpolar.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "barpolar.marker",
            "data_class_str": "Pattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.marker.pattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "barpolar.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.pattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "barpolar.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.pattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "barpolar.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.pattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "barpolar.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.pattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "barpolar.marker.pattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.pattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "barpolar.marker.pattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.pattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "barpolar.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.pattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "barpolar.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "barpolar.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "barpolar.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "barpolar.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "barpolar.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "barpolar.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "barpolar.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "barpolar.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "barpolar.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "barpolar.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "barpolar.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "barpolar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "barpolar.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "barpolar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "barpolar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "barpolar.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "barpolar.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "barpolar.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "barpolar.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "barpolar.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "barpolar.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "barpolar.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "barpolar.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "barpolar.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "barpolar.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "barpolar.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "barpolar.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "barpolar.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "barpolar.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "barpolar.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "barpolar.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "barpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "barpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "barpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "barpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "barpolar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "barpolar.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "barpolar.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "barpolar.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "barpolar.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "barpolar.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "barpolar.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "barpolar.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "barpolar.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "barpolar.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "barpolar.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "barpolar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "barpolar.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "barpolar.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "barpolar.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "barpolar.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "barpolar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "barpolar.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "barpolar.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "barpolar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "barpolar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "barpolar",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "barpolar.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "barpolar",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "barpolar.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "barpolar",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "barpolar.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "barpolar.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "barpolar.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "barpolar.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "barpolar.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "barpolar.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "barpolar.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "barpolar.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "barpolar",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "barpolar.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "barpolar",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "barpolar.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "barpolar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "barpolar.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "barpolar",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "barpolar.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "barpolar",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "barpolar.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "barpolar",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "barpolar.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "barpolar",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "barpolar.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "barpolar.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "barpolar.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "barpolar.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "barpolar.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "barpolar.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "barpolar.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "barpolar.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "barpolar.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "barpolar.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "barpolar.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "barpolar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "barpolar.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "barpolar.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "barpolar.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "barpolar.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "barpolar.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "barpolar",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "r",
                "theta",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "barpolar.dtheta": {
        "params": {
            "plotly_name": "dtheta",
            "parent_name": "barpolar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "barpolar.dr": {
        "params": {
            "plotly_name": "dr",
            "parent_name": "barpolar",
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "barpolar.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "barpolar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "barpolar.base": {
        "params": {
            "plotly_name": "base",
            "parent_name": "barpolar",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "bar": {
        "params": {
            "plotly_name": "bar",
            "parent_name": "",
            "data_class_str": "Bar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.zorder": {
        "params": {
            "plotly_name": "zorder",
            "parent_name": "bar",
            "edit_type": "plot"
        },
        "superclass": "IntegerValidator"
    },
    "bar.yperiodalignment": {
        "params": {
            "plotly_name": "yperiodalignment",
            "parent_name": "bar",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.yperiod0": {
        "params": {
            "plotly_name": "yperiod0",
            "parent_name": "bar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "bar.yperiod": {
        "params": {
            "plotly_name": "yperiod",
            "parent_name": "bar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "bar.yhoverformat": {
        "params": {
            "plotly_name": "yhoverformat",
            "parent_name": "bar",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "bar.ycalendar": {
        "params": {
            "plotly_name": "ycalendar",
            "parent_name": "bar",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.yaxis": {
        "params": {
            "plotly_name": "yaxis",
            "parent_name": "bar",
            "dflt": "y",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "bar.y0": {
        "params": {
            "plotly_name": "y0",
            "parent_name": "bar",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "bar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "bar",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.xperiodalignment": {
        "params": {
            "plotly_name": "xperiodalignment",
            "parent_name": "bar",
            "edit_type": "calc",
            "values": [
                "start",
                "middle",
                "end"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.xperiod0": {
        "params": {
            "plotly_name": "xperiod0",
            "parent_name": "bar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "bar.xperiod": {
        "params": {
            "plotly_name": "xperiod",
            "parent_name": "bar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "bar.xhoverformat": {
        "params": {
            "plotly_name": "xhoverformat",
            "parent_name": "bar",
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "bar.xcalendar": {
        "params": {
            "plotly_name": "xcalendar",
            "parent_name": "bar",
            "edit_type": "calc",
            "values": [
                "chinese",
                "coptic",
                "discworld",
                "ethiopian",
                "gregorian",
                "hebrew",
                "islamic",
                "jalali",
                "julian",
                "mayan",
                "nanakshahi",
                "nepali",
                "persian",
                "taiwan",
                "thai",
                "ummalqura"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.xaxis": {
        "params": {
            "plotly_name": "xaxis",
            "parent_name": "bar",
            "dflt": "x",
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "SubplotidValidator"
    },
    "bar.x0": {
        "params": {
            "plotly_name": "x0",
            "parent_name": "bar",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "AnyValidator"
    },
    "bar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "bar",
            "anim": true,
            "edit_type": "calc+clearAxisTypes"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "bar",
            "edit_type": "calc",
            "values": [
                true,
                false,
                "legendonly"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.unselected": {
        "params": {
            "plotly_name": "unselected",
            "parent_name": "bar",
            "data_class_str": "Unselected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.unselected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "bar.unselected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.unselected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.unselected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.unselected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "bar.unselected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.unselected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "bar.unselected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.unselected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.unselected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.uirevision": {
        "params": {
            "plotly_name": "uirevision",
            "parent_name": "bar",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "bar.uid": {
        "params": {
            "plotly_name": "uid",
            "parent_name": "bar",
            "anim": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "bar.texttemplatefallback": {
        "params": {
            "plotly_name": "texttemplatefallback",
            "parent_name": "bar",
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "bar.texttemplate": {
        "params": {
            "plotly_name": "texttemplate",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "StringValidator"
    },
    "bar.textposition": {
        "params": {
            "plotly_name": "textposition",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "inside",
                "outside",
                "auto",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "bar",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.textfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "bar.textfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.textfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.textfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.textfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "bar.textfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "bar.textfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "bar.textfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "bar.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.textfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.textangle": {
        "params": {
            "plotly_name": "textangle",
            "parent_name": "bar",
            "edit_type": "plot"
        },
        "superclass": "AngleValidator"
    },
    "bar.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "bar.showlegend": {
        "params": {
            "plotly_name": "showlegend",
            "parent_name": "bar",
            "edit_type": "style"
        },
        "superclass": "BooleanValidator"
    },
    "bar.selectedpoints": {
        "params": {
            "plotly_name": "selectedpoints",
            "parent_name": "bar",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "bar.selected": {
        "params": {
            "plotly_name": "selected",
            "parent_name": "bar",
            "data_class_str": "Selected",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.selected.textfont": {
        "params": {
            "plotly_name": "textfont",
            "parent_name": "bar.selected",
            "data_class_str": "Textfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.selected.textfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.selected.textfont",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.selected.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "bar.selected",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.selected.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "bar.selected.marker",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.selected.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.selected.marker",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.outsidetextfont": {
        "params": {
            "plotly_name": "outsidetextfont",
            "parent_name": "bar",
            "data_class_str": "Outsidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.outsidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "bar.outsidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.outsidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.outsidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.outsidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "bar.outsidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "bar.outsidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "bar.outsidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "bar.outsidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.outsidetextfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "bar",
            "edit_type": "calc+clearAxisTypes",
            "values": [
                "v",
                "h"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "bar",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.offsetgroup": {
        "params": {
            "plotly_name": "offsetgroup",
            "parent_name": "bar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "bar.offset": {
        "params": {
            "plotly_name": "offset",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "bar.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "bar",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "bar.meta": {
        "params": {
            "plotly_name": "meta",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "plot"
        },
        "superclass": "AnyValidator"
    },
    "bar.marker": {
        "params": {
            "plotly_name": "marker",
            "parent_name": "bar",
            "data_class_str": "Marker",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.marker.showscale": {
        "params": {
            "plotly_name": "showscale",
            "parent_name": "bar.marker",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "bar.marker",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.pattern": {
        "params": {
            "plotly_name": "pattern",
            "parent_name": "bar.marker",
            "data_class_str": "Pattern",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.marker.pattern.solidity": {
        "params": {
            "plotly_name": "solidity",
            "parent_name": "bar.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.pattern.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "bar.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.pattern.shape": {
        "params": {
            "plotly_name": "shape",
            "parent_name": "bar.marker.pattern",
            "array_ok": true,
            "edit_type": "style",
            "values": [
                "",
                "/",
                "\\",
                "x",
                "-",
                "|",
                "+",
                "."
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.pattern.path": {
        "params": {
            "plotly_name": "path",
            "parent_name": "bar.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.pattern.fillmode": {
        "params": {
            "plotly_name": "fillmode",
            "parent_name": "bar.marker.pattern",
            "edit_type": "style",
            "values": [
                "replace",
                "overlay"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.pattern.fgopacity": {
        "params": {
            "plotly_name": "fgopacity",
            "parent_name": "bar.marker.pattern",
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.pattern.fgcolor": {
        "params": {
            "plotly_name": "fgcolor",
            "parent_name": "bar.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.pattern.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "bar.marker.pattern",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.opacity": {
        "params": {
            "plotly_name": "opacity",
            "parent_name": "bar.marker",
            "array_ok": true,
            "edit_type": "style",
            "max": 1,
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.line": {
        "params": {
            "plotly_name": "line",
            "parent_name": "bar.marker",
            "data_class_str": "Line",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.marker.line.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "bar.marker.line",
            "anim": true,
            "array_ok": true,
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.line.reversescale": {
        "params": {
            "plotly_name": "reversescale",
            "parent_name": "bar.marker.line",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.line.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "bar.marker.line",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "bar.marker.line.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "bar.marker.line",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "bar.marker.line.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.marker.line",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "bar.marker.line.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.line.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "bar.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.line.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "bar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.line.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "bar.marker.line",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.line.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "bar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.line.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "bar.marker.line",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.cornerradius": {
        "params": {
            "plotly_name": "cornerradius",
            "parent_name": "bar.marker",
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "bar.marker.colorscale": {
        "params": {
            "plotly_name": "colorscale",
            "parent_name": "bar.marker",
            "edit_type": "calc",
            "implied_edits": {
                "autocolorscale": false
            }
        },
        "superclass": "ColorscaleValidator"
    },
    "bar.marker.colorbar": {
        "params": {
            "plotly_name": "colorbar",
            "parent_name": "bar.marker",
            "data_class_str": "ColorBar",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.marker.colorbar.yref": {
        "params": {
            "plotly_name": "yref",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.ypad": {
        "params": {
            "plotly_name": "ypad",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.yanchor": {
        "params": {
            "plotly_name": "yanchor",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "top",
                "middle",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.y": {
        "params": {
            "plotly_name": "y",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.xref": {
        "params": {
            "plotly_name": "xref",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "container",
                "paper"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.xpad": {
        "params": {
            "plotly_name": "xpad",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.xanchor": {
        "params": {
            "plotly_name": "xanchor",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "left",
                "center",
                "right"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.x": {
        "params": {
            "plotly_name": "x",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.title": {
        "params": {
            "plotly_name": "title",
            "parent_name": "bar.marker.colorbar",
            "data_class_str": "Title",
            "data_docs": "\n"
        },
        "superclass": "TitleValidator"
    },
    "bar.marker.colorbar.title.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "bar.marker.colorbar.title",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.title.side": {
        "params": {
            "plotly_name": "side",
            "parent_name": "bar.marker.colorbar.title",
            "edit_type": "colorbars",
            "values": [
                "right",
                "top",
                "bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.title.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "bar.marker.colorbar.title",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.marker.colorbar.title.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "bar.marker.colorbar.title.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.title.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.title.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.title.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.title.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.title.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "bar.marker.colorbar.title.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.title.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.marker.colorbar.title.font",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.colorbar.tickwidth": {
        "params": {
            "plotly_name": "tickwidth",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.tickvals": {
        "params": {
            "plotly_name": "tickvals",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.marker.colorbar.ticktext": {
        "params": {
            "plotly_name": "ticktext",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.marker.colorbar.ticksuffix": {
        "params": {
            "plotly_name": "ticksuffix",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.ticks": {
        "params": {
            "plotly_name": "ticks",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                ""
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.tickprefix": {
        "params": {
            "plotly_name": "tickprefix",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.tickmode": {
        "params": {
            "plotly_name": "tickmode",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {},
            "values": [
                "auto",
                "linear",
                "array"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.ticklen": {
        "params": {
            "plotly_name": "ticklen",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.ticklabelstep": {
        "params": {
            "plotly_name": "ticklabelstep",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "bar.marker.colorbar.ticklabelposition": {
        "params": {
            "plotly_name": "ticklabelposition",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "outside",
                "inside",
                "outside top",
                "inside top",
                "outside left",
                "inside left",
                "outside right",
                "inside right",
                "outside bottom",
                "inside bottom"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.ticklabeloverflow": {
        "params": {
            "plotly_name": "ticklabeloverflow",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "allow",
                "hide past div",
                "hide past domain"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.tickformatstopdefaults": {
        "params": {
            "plotly_name": "tickformatstopdefaults",
            "parent_name": "bar.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.marker.colorbar.tickformatstops": {
        "params": {
            "plotly_name": "tickformatstops",
            "parent_name": "bar.marker.colorbar",
            "data_class_str": "Tickformatstop",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "bar.marker.colorbar.tickformatstop.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "bar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.tickformatstop.templateitemname": {
        "params": {
            "plotly_name": "templateitemname",
            "parent_name": "bar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.tickformatstop.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "bar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.tickformatstop.enabled": {
        "params": {
            "plotly_name": "enabled",
            "parent_name": "bar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.colorbar.tickformatstop.dtickrange": {
        "params": {
            "plotly_name": "dtickrange",
            "parent_name": "bar.marker.colorbar.tickformatstop",
            "edit_type": "colorbars",
            "items": [
                {
                    "editType": "colorbars",
                    "valType": "any"
                },
                {
                    "editType": "colorbars",
                    "valType": "any"
                }
            ]
        },
        "superclass": "InfoArrayValidator"
    },
    "bar.marker.colorbar.tickformat": {
        "params": {
            "plotly_name": "tickformat",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.tickfont": {
        "params": {
            "plotly_name": "tickfont",
            "parent_name": "bar.marker.colorbar",
            "data_class_str": "Tickfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.marker.colorbar.tickfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "bar.marker.colorbar.tickfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.tickfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.tickfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.tickfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.tickfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.tickfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "bar.marker.colorbar.tickfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "bar.marker.colorbar.tickfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.marker.colorbar.tickfont",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.colorbar.tickcolor": {
        "params": {
            "plotly_name": "tickcolor",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.colorbar.tickangle": {
        "params": {
            "plotly_name": "tickangle",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AngleValidator"
    },
    "bar.marker.colorbar.tick0": {
        "params": {
            "plotly_name": "tick0",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "bar.marker.colorbar.thicknessmode": {
        "params": {
            "plotly_name": "thicknessmode",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.showticksuffix": {
        "params": {
            "plotly_name": "showticksuffix",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.showtickprefix": {
        "params": {
            "plotly_name": "showtickprefix",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.showticklabels": {
        "params": {
            "plotly_name": "showticklabels",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.colorbar.showexponent": {
        "params": {
            "plotly_name": "showexponent",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "all",
                "first",
                "last",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.separatethousands": {
        "params": {
            "plotly_name": "separatethousands",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.colorbar.outlinewidth": {
        "params": {
            "plotly_name": "outlinewidth",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.outlinecolor": {
        "params": {
            "plotly_name": "outlinecolor",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.colorbar.orientation": {
        "params": {
            "plotly_name": "orientation",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "h",
                "v"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.nticks": {
        "params": {
            "plotly_name": "nticks",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "bar.marker.colorbar.minexponent": {
        "params": {
            "plotly_name": "minexponent",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.lenmode": {
        "params": {
            "plotly_name": "lenmode",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "fraction",
                "pixels"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.len": {
        "params": {
            "plotly_name": "len",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.labelalias": {
        "params": {
            "plotly_name": "labelalias",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "AnyValidator"
    },
    "bar.marker.colorbar.exponentformat": {
        "params": {
            "plotly_name": "exponentformat",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "values": [
                "none",
                "e",
                "E",
                "power",
                "SI",
                "B",
                "SI extended"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.marker.colorbar.dtick": {
        "params": {
            "plotly_name": "dtick",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "implied_edits": {
                "tickmode": "linear"
            }
        },
        "superclass": "AnyValidator"
    },
    "bar.marker.colorbar.borderwidth": {
        "params": {
            "plotly_name": "borderwidth",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.colorbar.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.colorbar.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "bar.marker.colorbar",
            "edit_type": "colorbars"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.coloraxis": {
        "params": {
            "plotly_name": "coloraxis",
            "parent_name": "bar.marker",
            "dflt": null,
            "edit_type": "calc",
            "regex": "/^coloraxis([2-9]|[1-9][0-9]+)?$/"
        },
        "superclass": "SubplotidValidator"
    },
    "bar.marker.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.marker",
            "array_ok": true,
            "edit_type": "style",
            "colorscale_path": "bar.marker.colorscale"
        },
        "superclass": "ColorValidator"
    },
    "bar.marker.cmin": {
        "params": {
            "plotly_name": "cmin",
            "parent_name": "bar.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.cmid": {
        "params": {
            "plotly_name": "cmid",
            "parent_name": "bar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.cmax": {
        "params": {
            "plotly_name": "cmax",
            "parent_name": "bar.marker",
            "edit_type": "plot",
            "implied_edits": {
                "cauto": false
            }
        },
        "superclass": "NumberValidator"
    },
    "bar.marker.cauto": {
        "params": {
            "plotly_name": "cauto",
            "parent_name": "bar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "bar.marker.autocolorscale": {
        "params": {
            "plotly_name": "autocolorscale",
            "parent_name": "bar.marker",
            "edit_type": "calc",
            "implied_edits": {}
        },
        "superclass": "BooleanValidator"
    },
    "bar.legendwidth": {
        "params": {
            "plotly_name": "legendwidth",
            "parent_name": "bar",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.legendrank": {
        "params": {
            "plotly_name": "legendrank",
            "parent_name": "bar",
            "edit_type": "style"
        },
        "superclass": "NumberValidator"
    },
    "bar.legendgrouptitle": {
        "params": {
            "plotly_name": "legendgrouptitle",
            "parent_name": "bar",
            "data_class_str": "Legendgrouptitle",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.legendgrouptitle.text": {
        "params": {
            "plotly_name": "text",
            "parent_name": "bar.legendgrouptitle",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "bar.legendgrouptitle.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "bar.legendgrouptitle",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.legendgrouptitle.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "bar.legendgrouptitle.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.legendgrouptitle.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.legendgrouptitle.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.legendgrouptitle.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "bar.legendgrouptitle.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "bar.legendgrouptitle.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "bar.legendgrouptitle.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "bar.legendgrouptitle.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.legendgrouptitle.font",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.legendgroup": {
        "params": {
            "plotly_name": "legendgroup",
            "parent_name": "bar",
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "bar.legend": {
        "params": {
            "plotly_name": "legend",
            "parent_name": "bar",
            "dflt": "legend",
            "edit_type": "style"
        },
        "superclass": "SubplotidValidator"
    },
    "bar.insidetextfont": {
        "params": {
            "plotly_name": "insidetextfont",
            "parent_name": "bar",
            "data_class_str": "Insidetextfont",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.insidetextfont.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "bar.insidetextfont.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.insidetextfont.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.insidetextfont.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.insidetextfont.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "bar.insidetextfont.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "bar.insidetextfont.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "bar.insidetextfont.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "calc",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "bar.insidetextfont.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.insidetextfont",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.insidetextanchor": {
        "params": {
            "plotly_name": "insidetextanchor",
            "parent_name": "bar",
            "edit_type": "plot",
            "values": [
                "end",
                "middle",
                "start"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.ids": {
        "params": {
            "plotly_name": "ids",
            "parent_name": "bar",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.hovertext": {
        "params": {
            "plotly_name": "hovertext",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "style"
        },
        "superclass": "StringValidator"
    },
    "bar.hovertemplatefallback": {
        "params": {
            "plotly_name": "hovertemplatefallback",
            "parent_name": "bar",
            "edit_type": "none"
        },
        "superclass": "AnyValidator"
    },
    "bar.hovertemplate": {
        "params": {
            "plotly_name": "hovertemplate",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "bar.hoverlabel": {
        "params": {
            "plotly_name": "hoverlabel",
            "parent_name": "bar",
            "data_class_str": "Hoverlabel",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.hoverlabel.showarrow": {
        "params": {
            "plotly_name": "showarrow",
            "parent_name": "bar.hoverlabel",
            "edit_type": "none"
        },
        "superclass": "BooleanValidator"
    },
    "bar.hoverlabel.namelength": {
        "params": {
            "plotly_name": "namelength",
            "parent_name": "bar.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "min": -1
        },
        "superclass": "IntegerValidator"
    },
    "bar.hoverlabel.font": {
        "params": {
            "plotly_name": "font",
            "parent_name": "bar.hoverlabel",
            "data_class_str": "Font",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.hoverlabel.font.weight": {
        "params": {
            "plotly_name": "weight",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "normal",
                "bold"
            ],
            "max": 1000,
            "min": 1
        },
        "superclass": "IntegerValidator"
    },
    "bar.hoverlabel.font.variant": {
        "params": {
            "plotly_name": "variant",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "all-petite-caps",
                "petite-caps",
                "unicase"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.hoverlabel.font.textcase": {
        "params": {
            "plotly_name": "textcase",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "word caps",
                "upper",
                "lower"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.hoverlabel.font.style": {
        "params": {
            "plotly_name": "style",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "normal",
                "italic"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.hoverlabel.font.size": {
        "params": {
            "plotly_name": "size",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "min": 1
        },
        "superclass": "NumberValidator"
    },
    "bar.hoverlabel.font.shadow": {
        "params": {
            "plotly_name": "shadow",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "StringValidator"
    },
    "bar.hoverlabel.font.lineposition": {
        "params": {
            "plotly_name": "lineposition",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "none"
            ],
            "flags": [
                "under",
                "over",
                "through"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "bar.hoverlabel.font.family": {
        "params": {
            "plotly_name": "family",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none",
            "no_blank": true,
            "strict": true
        },
        "superclass": "StringValidator"
    },
    "bar.hoverlabel.font.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.hoverlabel.font",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "bar.hoverlabel.bordercolor": {
        "params": {
            "plotly_name": "bordercolor",
            "parent_name": "bar.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "bar.hoverlabel.bgcolor": {
        "params": {
            "plotly_name": "bgcolor",
            "parent_name": "bar.hoverlabel",
            "array_ok": true,
            "edit_type": "none"
        },
        "superclass": "ColorValidator"
    },
    "bar.hoverlabel.align": {
        "params": {
            "plotly_name": "align",
            "parent_name": "bar.hoverlabel",
            "array_ok": true,
            "edit_type": "none",
            "values": [
                "left",
                "right",
                "auto"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.hoverinfo": {
        "params": {
            "plotly_name": "hoverinfo",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "none",
            "extras": [
                "all",
                "none",
                "skip"
            ],
            "flags": [
                "x",
                "y",
                "z",
                "text",
                "name"
            ]
        },
        "superclass": "FlaglistValidator"
    },
    "bar.error_y": {
        "params": {
            "plotly_name": "error_y",
            "parent_name": "bar",
            "data_class_str": "ErrorY",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.error_y.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "bar.error_y",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.error_y.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "bar.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "bar.error_y.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "bar.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.error_y.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "bar.error_y",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.error_y.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "bar.error_y",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.error_y.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "bar.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "bar.error_y.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "bar.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "bar.error_y.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "bar.error_y",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.error_y.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "bar.error_y",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "bar.error_y.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.error_y",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.error_y.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "bar.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.error_y.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "bar.error_y",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.error_x": {
        "params": {
            "plotly_name": "error_x",
            "parent_name": "bar",
            "data_class_str": "ErrorX",
            "data_docs": "\n"
        },
        "superclass": "CompoundValidator"
    },
    "bar.error_x.width": {
        "params": {
            "plotly_name": "width",
            "parent_name": "bar.error_x",
            "edit_type": "plot",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.error_x.visible": {
        "params": {
            "plotly_name": "visible",
            "parent_name": "bar.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "bar.error_x.valueminus": {
        "params": {
            "plotly_name": "valueminus",
            "parent_name": "bar.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.error_x.value": {
        "params": {
            "plotly_name": "value",
            "parent_name": "bar.error_x",
            "edit_type": "calc",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.error_x.type": {
        "params": {
            "plotly_name": "type",
            "parent_name": "bar.error_x",
            "edit_type": "calc",
            "values": [
                "percent",
                "constant",
                "sqrt",
                "data"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.error_x.tracerefminus": {
        "params": {
            "plotly_name": "tracerefminus",
            "parent_name": "bar.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "bar.error_x.traceref": {
        "params": {
            "plotly_name": "traceref",
            "parent_name": "bar.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "IntegerValidator"
    },
    "bar.error_x.thickness": {
        "params": {
            "plotly_name": "thickness",
            "parent_name": "bar.error_x",
            "edit_type": "style",
            "min": 0
        },
        "superclass": "NumberValidator"
    },
    "bar.error_x.symmetric": {
        "params": {
            "plotly_name": "symmetric",
            "parent_name": "bar.error_x",
            "edit_type": "calc"
        },
        "superclass": "BooleanValidator"
    },
    "bar.error_x.copy_ystyle": {
        "params": {
            "plotly_name": "copy_ystyle",
            "parent_name": "bar.error_x",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "bar.error_x.color": {
        "params": {
            "plotly_name": "color",
            "parent_name": "bar.error_x",
            "edit_type": "style"
        },
        "superclass": "ColorValidator"
    },
    "bar.error_x.arrayminus": {
        "params": {
            "plotly_name": "arrayminus",
            "parent_name": "bar.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.error_x.array": {
        "params": {
            "plotly_name": "array",
            "parent_name": "bar.error_x",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.dy": {
        "params": {
            "plotly_name": "dy",
            "parent_name": "bar",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "bar.dx": {
        "params": {
            "plotly_name": "dx",
            "parent_name": "bar",
            "anim": true,
            "edit_type": "calc"
        },
        "superclass": "NumberValidator"
    },
    "bar.customdata": {
        "params": {
            "plotly_name": "customdata",
            "parent_name": "bar",
            "edit_type": "calc"
        },
        "superclass": "DataArrayValidator"
    },
    "bar.constraintext": {
        "params": {
            "plotly_name": "constraintext",
            "parent_name": "bar",
            "edit_type": "calc",
            "values": [
                "inside",
                "outside",
                "both",
                "none"
            ]
        },
        "superclass": "EnumeratedValidator"
    },
    "bar.cliponaxis": {
        "params": {
            "plotly_name": "cliponaxis",
            "parent_name": "bar",
            "edit_type": "plot"
        },
        "superclass": "BooleanValidator"
    },
    "bar.base": {
        "params": {
            "plotly_name": "base",
            "parent_name": "bar",
            "array_ok": true,
            "edit_type": "calc"
        },
        "superclass": "AnyValidator"
    },
    "bar.alignmentgroup": {
        "params": {
            "plotly_name": "alignmentgroup",
            "parent_name": "bar",
            "edit_type": "calc"
        },
        "superclass": "StringValidator"
    },
    "frames": {
        "params": {
            "plotly_name": "frames",
            "parent_name": "",
            "data_class_str": "Frame",
            "data_docs": "\n"
        },
        "superclass": "CompoundArrayValidator"
    },
    "frame.traces": {
        "params": {
            "plotly_name": "traces",
            "parent_name": "frame"
        },
        "superclass": "AnyValidator"
    },
    "frame.name": {
        "params": {
            "plotly_name": "name",
            "parent_name": "frame"
        },
        "superclass": "StringValidator"
    },
    "frame.layout": {
        "params": {
            "plotly_name": "layout",
            "parent_name": "frame"
        },
        "superclass": "LayoutValidator"
    },
    "frame.group": {
        "params": {
            "plotly_name": "group",
            "parent_name": "frame"
        },
        "superclass": "StringValidator"
    },
    "frame.data": {
        "params": {
            "plotly_name": "data",
            "parent_name": "frame"
        },
        "superclass": "DataValidator"
    },
    "frame.baseframe": {
        "params": {
            "plotly_name": "baseframe",
            "parent_name": "frame"
        },
        "superclass": "StringValidator"
    },
    "data": {
        "params": {
            "class_strs_map": {
                "bar": "Bar",
                "barpolar": "Barpolar",
                "box": "Box",
                "candlestick": "Candlestick",
                "carpet": "Carpet",
                "choropleth": "Choropleth",
                "choroplethmap": "Choroplethmap",
                "cone": "Cone",
                "contour": "Contour",
                "contourcarpet": "Contourcarpet",
                "densitymap": "Densitymap",
                "funnel": "Funnel",
                "funnelarea": "Funnelarea",
                "heatmap": "Heatmap",
                "histogram": "Histogram",
                "histogram2d": "Histogram2d",
                "histogram2dcontour": "Histogram2dContour",
                "icicle": "Icicle",
                "image": "Image",
                "indicator": "Indicator",
                "isosurface": "Isosurface",
                "mesh3d": "Mesh3d",
                "ohlc": "Ohlc",
                "parcats": "Parcats",
                "parcoords": "Parcoords",
                "pie": "Pie",
                "quiver": "Quiver",
                "sankey": "Sankey",
                "scatter": "Scatter",
                "scatter3d": "Scatter3d",
                "scattercarpet": "Scattercarpet",
                "scattergeo": "Scattergeo",
                "scattergl": "Scattergl",
                "scattermap": "Scattermap",
                "scatterpolar": "Scatterpolar",
                "scatterpolargl": "Scatterpolargl",
                "scattersmith": "Scattersmith",
                "scatterternary": "Scatterternary",
                "splom": "Splom",
                "streamtube": "Streamtube",
                "sunburst": "Sunburst",
                "surface": "Surface",
                "table": "Table",
                "treemap": "Treemap",
                "violin": "Violin",
                "volume": "Volume",
                "waterfall": "Waterfall"
            },
            "plotly_name": "data",
            "parent_name": ""
        },
        "superclass": "BaseDataValidator"
    }
}