/*
 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
 *
 * This file was generated by the dom/make_names.pl script.
 *
 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include "config.h"

#ifdef SKIP_STATIC_CONSTRUCTORS_ON_GCC
#define DOM_MathMLNAMES_HIDE_GLOBALS 1
#else
#define QNAME_DEFAULT_CONSTRUCTOR 1
#endif

#include "MathMLNames.h"

#include <wtf/StaticConstructors.h>
namespace WebCore {

namespace MathMLNames {

using namespace WebCore;

DEFINE_GLOBAL(AtomicString, mathmlNamespaceURI)

static const LChar mathcolorString8[] = "mathcolor";
static const LChar munderString8[] = "munder";
static const LChar mpaddedString8[] = "mpadded";
static const LChar mmultiscriptsString8[] = "mmultiscripts";
static const LChar merrorString8[] = "merror";
static const LChar mlabeledtrString8[] = "mlabeledtr";
static const LChar semanticsString8[] = "semantics";
static const LChar depthString8[] = "depth";
static const LChar mactionString8[] = "maction";
static const LChar msString8[] = "ms";
static const LChar mfracString8[] = "mfrac";
static const LChar encodingString8[] = "encoding";
static const LChar mscarriesString8[] = "mscarries";
static const LChar selectionString8[] = "selection";
static const LChar mathString8[] = "math";
static const LChar linethicknessString8[] = "linethickness";
static const LChar dirString8[] = "dir";
static const LChar mrootString8[] = "mroot";
static const LChar mtableString8[] = "mtable";
static const LChar mtrString8[] = "mtr";
static const LChar fontstyleString8[] = "fontstyle";
static const LChar backgroundString8[] = "background";
static const LChar fontsizeString8[] = "fontsize";
static const LChar mnString8[] = "mn";
static const LChar actiontypeString8[] = "actiontype";
static const LChar mspaceString8[] = "mspace";
static const LChar moverString8[] = "mover";
static const LChar annotationString8[] = "annotation";
static const LChar columnspanString8[] = "columnspan";
static const LChar subscriptshiftString8[] = "subscriptshift";
static const LChar msrowString8[] = "msrow";
static const LChar miString8[] = "mi";
static const LChar mglyphString8[] = "mglyph";
static const LChar fontweightString8[] = "fontweight";
static const LChar msgroupString8[] = "msgroup";
static const LChar mstyleString8[] = "mstyle";
static const LChar mstackString8[] = "mstack";
static const LChar separatorsString8[] = "separators";
static const LChar msupString8[] = "msup";
static const LChar closeString8[] = "close";
static const LChar munderoverString8[] = "munderover";
static const LChar mslineString8[] = "msline";
static const LChar heightString8[] = "height";
static const LChar mscarryString8[] = "mscarry";
static const LChar mathvariantString8[] = "mathvariant";
static const LChar msubString8[] = "msub";
static const LChar malignmarkString8[] = "malignmark";
static const LChar stretchyString8[] = "stretchy";
static const LChar msubsupString8[] = "msubsup";
static const LChar rowspanString8[] = "rowspan";
static const LChar mathsizeString8[] = "mathsize";
static const LChar colorString8[] = "color";
static const LChar mfencedString8[] = "mfenced";
static const LChar msqrtString8[] = "msqrt";
static const LChar numalignString8[] = "numalign";
static const LChar alttextString8[] = "alttext";
static const LChar mtextString8[] = "mtext";
static const LChar mrowString8[] = "mrow";
static const LChar mlongdivString8[] = "mlongdiv";
static const LChar mphantomString8[] = "mphantom";
static const LChar mtdString8[] = "mtd";
static const LChar maligngroupString8[] = "maligngroup";
static const LChar noneString8[] = "none";
static const LChar definitionURLString8[] = "definitionURL";
static const LChar superscriptshiftString8[] = "superscriptshift";
static const LChar widthString8[] = "width";
static const LChar fontfamilyString8[] = "fontfamily";
static const LChar annotation_xmlString8[] = "annotation-xml";
static const LChar moString8[] = "mo";
static const LChar mencloseString8[] = "menclose";
static const LChar mprescriptsString8[] = "mprescripts";
static const LChar mathbackgroundString8[] = "mathbackground";
static const LChar notationString8[] = "notation";
static const LChar denomalignString8[] = "denomalign";
static const LChar srcString8[] = "src";
static const LChar openString8[] = "open";

static StringImpl::StaticASCIILiteral mathcolorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    mathcolorString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7904383 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral munderData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    munderString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9958019 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mpaddedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    mpaddedString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13014740 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mmultiscriptsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    mmultiscriptsString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6674650 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral merrorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    merrorString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7632997 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mlabeledtrData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    mlabeledtrString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6234436 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral semanticsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    semanticsString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (942856 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral depthData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    depthString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1069503 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mactionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    mactionString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6240554 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    msString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5264856 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mfracData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    mfracString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13987551 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral encodingData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    encodingString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (641915 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mscarriesData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    mscarriesString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9694235 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral selectionData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    selectionString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13833227 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    mathString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8182406 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral linethicknessData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    linethicknessString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7924943 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral dirData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    dirString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5122803 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mrootData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    mrootString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8188480 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mtableData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mtableString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10007321 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mtrData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    mtrString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11260899 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontstyleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    9,
    fontstyleString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2479154 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral backgroundData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    backgroundString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8107606 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontsizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    fontsizeString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (15308314 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mnData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    mnString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3612898 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral actiontypeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    actiontypeString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6004737 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mspaceData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mspaceString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10653811 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral moverData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    moverString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14480316 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral annotationData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    annotationString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10691270 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral columnspanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    columnspanString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6827651 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral subscriptshiftData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    subscriptshiftString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11231861 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msrowData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    msrowString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14131536 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral miData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    miString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16514040 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mglyphData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mglyphString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3316076 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontweightData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    fontweightString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4781093 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msgroupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    msgroupString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6009572 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mstyleData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mstyleString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6243427 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mstackData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mstackString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (7213992 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral separatorsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    separatorsString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11231386 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    msupString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (1894901 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral closeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    closeString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3222970 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral munderoverData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    munderoverString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5849942 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mslineData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    mslineString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10387365 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral heightData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    6,
    heightString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6697833 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mscarryData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    mscarryString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6631743 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathvariantData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    mathvariantString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9126505 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msubData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    msubString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10093770 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral malignmarkData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    malignmarkString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8634190 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral stretchyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    stretchyString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9937605 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msubsupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    msubsupString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5166195 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral rowspanData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    rowspanString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13630419 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathsizeData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    mathsizeString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6623078 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral colorData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    colorString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2734929 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mfencedData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    mfencedString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12259930 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral msqrtData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    msqrtString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (10123915 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral numalignData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    numalignString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8165736 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral alttextData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    7,
    alttextString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (14960494 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mtextData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    mtextString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16756693 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mrowData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    mrowString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (8502371 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mlongdivData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    mlongdivString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6375969 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mphantomData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    mphantomString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6126615 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mtdData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    mtdString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5470001 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral maligngroupData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    maligngroupString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11032863 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral noneData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    noneString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3454253 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral definitionURLData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    13,
    definitionURLString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5781331 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral superscriptshiftData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    16,
    superscriptshiftString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (4987505 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral widthData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    5,
    widthString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (12902275 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral fontfamilyData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    fontfamilyString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (6143894 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral annotation_xmlData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    annotation_xmlString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (3437210 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral moData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    2,
    moString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (16096753 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mencloseData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    mencloseString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (5022529 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mprescriptsData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    11,
    mprescriptsString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13554220 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral mathbackgroundData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    14,
    mathbackgroundString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (2374557 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral notationData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    8,
    notationString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (269672 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral denomalignData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    10,
    denomalignString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (9559630 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral srcData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    3,
    srcString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (11517827 << StringImpl::StaticASCIILiteral::s_hashShift)
};
static StringImpl::StaticASCIILiteral openData = {
    StringImpl::StaticASCIILiteral::s_initialRefCount,
    4,
    openString8,
    0,
    StringImpl::StaticASCIILiteral::s_initialFlags | (13703631 << StringImpl::StaticASCIILiteral::s_hashShift)
};

// Tags
DEFINE_GLOBAL(QualifiedName, annotationTag)
DEFINE_GLOBAL(QualifiedName, annotation_xmlTag)
DEFINE_GLOBAL(QualifiedName, mactionTag)
DEFINE_GLOBAL(QualifiedName, maligngroupTag)
DEFINE_GLOBAL(QualifiedName, malignmarkTag)
DEFINE_GLOBAL(QualifiedName, mathTag)
DEFINE_GLOBAL(QualifiedName, mencloseTag)
DEFINE_GLOBAL(QualifiedName, merrorTag)
DEFINE_GLOBAL(QualifiedName, mfencedTag)
DEFINE_GLOBAL(QualifiedName, mfracTag)
DEFINE_GLOBAL(QualifiedName, mglyphTag)
DEFINE_GLOBAL(QualifiedName, miTag)
DEFINE_GLOBAL(QualifiedName, mlabeledtrTag)
DEFINE_GLOBAL(QualifiedName, mlongdivTag)
DEFINE_GLOBAL(QualifiedName, mmultiscriptsTag)
DEFINE_GLOBAL(QualifiedName, mnTag)
DEFINE_GLOBAL(QualifiedName, moTag)
DEFINE_GLOBAL(QualifiedName, moverTag)
DEFINE_GLOBAL(QualifiedName, mpaddedTag)
DEFINE_GLOBAL(QualifiedName, mphantomTag)
DEFINE_GLOBAL(QualifiedName, mprescriptsTag)
DEFINE_GLOBAL(QualifiedName, mrootTag)
DEFINE_GLOBAL(QualifiedName, mrowTag)
DEFINE_GLOBAL(QualifiedName, msTag)
DEFINE_GLOBAL(QualifiedName, mscarriesTag)
DEFINE_GLOBAL(QualifiedName, mscarryTag)
DEFINE_GLOBAL(QualifiedName, msgroupTag)
DEFINE_GLOBAL(QualifiedName, mslineTag)
DEFINE_GLOBAL(QualifiedName, mspaceTag)
DEFINE_GLOBAL(QualifiedName, msqrtTag)
DEFINE_GLOBAL(QualifiedName, msrowTag)
DEFINE_GLOBAL(QualifiedName, mstackTag)
DEFINE_GLOBAL(QualifiedName, mstyleTag)
DEFINE_GLOBAL(QualifiedName, msubTag)
DEFINE_GLOBAL(QualifiedName, msubsupTag)
DEFINE_GLOBAL(QualifiedName, msupTag)
DEFINE_GLOBAL(QualifiedName, mtableTag)
DEFINE_GLOBAL(QualifiedName, mtdTag)
DEFINE_GLOBAL(QualifiedName, mtextTag)
DEFINE_GLOBAL(QualifiedName, mtrTag)
DEFINE_GLOBAL(QualifiedName, munderTag)
DEFINE_GLOBAL(QualifiedName, munderoverTag)
DEFINE_GLOBAL(QualifiedName, noneTag)
DEFINE_GLOBAL(QualifiedName, semanticsTag)


const WebCore::QualifiedName* const * getMathMLTags()
{
    static const WebCore::QualifiedName* const MathMLTags[] = {
        reinterpret_cast<const WebCore::QualifiedName*>(&annotationTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&annotation_xmlTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mactionTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&maligngroupTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&malignmarkTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mathTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mencloseTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&merrorTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mfencedTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mfracTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mglyphTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&miTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mlabeledtrTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mlongdivTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mmultiscriptsTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mnTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&moTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&moverTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mpaddedTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mphantomTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mprescriptsTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mrootTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mrowTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&msTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mscarriesTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mscarryTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&msgroupTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mslineTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mspaceTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&msqrtTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&msrowTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mstackTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mstyleTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&msubTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&msubsupTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&msupTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mtableTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mtdTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mtextTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&mtrTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&munderTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&munderoverTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&noneTag),
        reinterpret_cast<const WebCore::QualifiedName*>(&semanticsTag),
    };
    return MathMLTags;
}

// Attributes
DEFINE_GLOBAL(QualifiedName, actiontypeAttr)
DEFINE_GLOBAL(QualifiedName, alttextAttr)
DEFINE_GLOBAL(QualifiedName, backgroundAttr)
DEFINE_GLOBAL(QualifiedName, closeAttr)
DEFINE_GLOBAL(QualifiedName, colorAttr)
DEFINE_GLOBAL(QualifiedName, columnspanAttr)
DEFINE_GLOBAL(QualifiedName, definitionURLAttr)
DEFINE_GLOBAL(QualifiedName, denomalignAttr)
DEFINE_GLOBAL(QualifiedName, depthAttr)
DEFINE_GLOBAL(QualifiedName, dirAttr)
DEFINE_GLOBAL(QualifiedName, encodingAttr)
DEFINE_GLOBAL(QualifiedName, fontfamilyAttr)
DEFINE_GLOBAL(QualifiedName, fontsizeAttr)
DEFINE_GLOBAL(QualifiedName, fontstyleAttr)
DEFINE_GLOBAL(QualifiedName, fontweightAttr)
DEFINE_GLOBAL(QualifiedName, heightAttr)
DEFINE_GLOBAL(QualifiedName, linethicknessAttr)
DEFINE_GLOBAL(QualifiedName, mathbackgroundAttr)
DEFINE_GLOBAL(QualifiedName, mathcolorAttr)
DEFINE_GLOBAL(QualifiedName, mathsizeAttr)
DEFINE_GLOBAL(QualifiedName, mathvariantAttr)
DEFINE_GLOBAL(QualifiedName, notationAttr)
DEFINE_GLOBAL(QualifiedName, numalignAttr)
DEFINE_GLOBAL(QualifiedName, openAttr)
DEFINE_GLOBAL(QualifiedName, rowspanAttr)
DEFINE_GLOBAL(QualifiedName, selectionAttr)
DEFINE_GLOBAL(QualifiedName, separatorsAttr)
DEFINE_GLOBAL(QualifiedName, srcAttr)
DEFINE_GLOBAL(QualifiedName, stretchyAttr)
DEFINE_GLOBAL(QualifiedName, subscriptshiftAttr)
DEFINE_GLOBAL(QualifiedName, superscriptshiftAttr)
DEFINE_GLOBAL(QualifiedName, widthAttr)


const WebCore::QualifiedName* const * getMathMLAttrs()
{
    static const WebCore::QualifiedName* const MathMLAttrs[] = {
        reinterpret_cast<const WebCore::QualifiedName*>(&actiontypeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&alttextAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&backgroundAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&closeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&colorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&columnspanAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&definitionURLAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&denomalignAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&depthAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&dirAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&encodingAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&fontfamilyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&fontsizeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&fontstyleAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&fontweightAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&heightAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&linethicknessAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&mathbackgroundAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&mathcolorAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&mathsizeAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&mathvariantAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&notationAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&numalignAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&openAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&rowspanAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&selectionAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&separatorsAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&srcAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&stretchyAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&subscriptshiftAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&superscriptshiftAttr),
        reinterpret_cast<const WebCore::QualifiedName*>(&widthAttr),
    };
    return MathMLAttrs;
}

void init()
{
    static bool initialized = false;
    if (initialized)
        return;
    initialized = true;

    // Use placement new to initialize the globals.

    AtomicString::init();
    AtomicString mathmlNS("http://www.w3.org/1998/Math/MathML", AtomicString::ConstructFromLiteral);

    // Namespace
    new (NotNull, (void*)&mathmlNamespaceURI) AtomicString(mathmlNS);

#ifndef NDEBUG
    reinterpret_cast<StringImpl*>(&separatorsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mstackData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&msupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&munderoverData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&closeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&annotationData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mspaceData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&moverData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&columnspanData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&backgroundData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&fontsizeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&actiontypeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mnData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&miData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&subscriptshiftData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&msrowData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&fontweightData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mglyphData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mstyleData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&msgroupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&linethicknessData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&dirData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mathData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mtableData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mtrData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mrootData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&fontstyleData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&munderData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mathcolorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mpaddedData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&semanticsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&depthData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&merrorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mmultiscriptsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mlabeledtrData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mscarriesData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&selectionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&msData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mactionData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mfracData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&encodingData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mathbackgroundData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mprescriptsData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mencloseData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&notationData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&openData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&srcData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&denomalignData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&maligngroupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&definitionURLData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&noneData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&annotation_xmlData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&superscriptshiftData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&fontfamilyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&widthData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&moData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&msqrtData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&numalignData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&alttextData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mrowData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mlongdivData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mtextData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mtdData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mphantomData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&heightData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mslineData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&msubData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mathvariantData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mscarryData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&rowspanData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mathsizeData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&colorData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&malignmarkData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&stretchyData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&msubsupData)->assertHashIsCorrect();
    reinterpret_cast<StringImpl*>(&mfencedData)->assertHashIsCorrect();
#endif // NDEBUG


    struct TagsTableEntry {
        void* targetAddress;
        StringImpl& name;
    };

    static const TagsTableEntry tagsTable[] = {
        { (void*)&annotationTag, *reinterpret_cast<StringImpl*>(&annotationData) },
        { (void*)&annotation_xmlTag, *reinterpret_cast<StringImpl*>(&annotation_xmlData) },
        { (void*)&mactionTag, *reinterpret_cast<StringImpl*>(&mactionData) },
        { (void*)&maligngroupTag, *reinterpret_cast<StringImpl*>(&maligngroupData) },
        { (void*)&malignmarkTag, *reinterpret_cast<StringImpl*>(&malignmarkData) },
        { (void*)&mathTag, *reinterpret_cast<StringImpl*>(&mathData) },
        { (void*)&mencloseTag, *reinterpret_cast<StringImpl*>(&mencloseData) },
        { (void*)&merrorTag, *reinterpret_cast<StringImpl*>(&merrorData) },
        { (void*)&mfencedTag, *reinterpret_cast<StringImpl*>(&mfencedData) },
        { (void*)&mfracTag, *reinterpret_cast<StringImpl*>(&mfracData) },
        { (void*)&mglyphTag, *reinterpret_cast<StringImpl*>(&mglyphData) },
        { (void*)&miTag, *reinterpret_cast<StringImpl*>(&miData) },
        { (void*)&mlabeledtrTag, *reinterpret_cast<StringImpl*>(&mlabeledtrData) },
        { (void*)&mlongdivTag, *reinterpret_cast<StringImpl*>(&mlongdivData) },
        { (void*)&mmultiscriptsTag, *reinterpret_cast<StringImpl*>(&mmultiscriptsData) },
        { (void*)&mnTag, *reinterpret_cast<StringImpl*>(&mnData) },
        { (void*)&moTag, *reinterpret_cast<StringImpl*>(&moData) },
        { (void*)&moverTag, *reinterpret_cast<StringImpl*>(&moverData) },
        { (void*)&mpaddedTag, *reinterpret_cast<StringImpl*>(&mpaddedData) },
        { (void*)&mphantomTag, *reinterpret_cast<StringImpl*>(&mphantomData) },
        { (void*)&mprescriptsTag, *reinterpret_cast<StringImpl*>(&mprescriptsData) },
        { (void*)&mrootTag, *reinterpret_cast<StringImpl*>(&mrootData) },
        { (void*)&mrowTag, *reinterpret_cast<StringImpl*>(&mrowData) },
        { (void*)&msTag, *reinterpret_cast<StringImpl*>(&msData) },
        { (void*)&mscarriesTag, *reinterpret_cast<StringImpl*>(&mscarriesData) },
        { (void*)&mscarryTag, *reinterpret_cast<StringImpl*>(&mscarryData) },
        { (void*)&msgroupTag, *reinterpret_cast<StringImpl*>(&msgroupData) },
        { (void*)&mslineTag, *reinterpret_cast<StringImpl*>(&mslineData) },
        { (void*)&mspaceTag, *reinterpret_cast<StringImpl*>(&mspaceData) },
        { (void*)&msqrtTag, *reinterpret_cast<StringImpl*>(&msqrtData) },
        { (void*)&msrowTag, *reinterpret_cast<StringImpl*>(&msrowData) },
        { (void*)&mstackTag, *reinterpret_cast<StringImpl*>(&mstackData) },
        { (void*)&mstyleTag, *reinterpret_cast<StringImpl*>(&mstyleData) },
        { (void*)&msubTag, *reinterpret_cast<StringImpl*>(&msubData) },
        { (void*)&msubsupTag, *reinterpret_cast<StringImpl*>(&msubsupData) },
        { (void*)&msupTag, *reinterpret_cast<StringImpl*>(&msupData) },
        { (void*)&mtableTag, *reinterpret_cast<StringImpl*>(&mtableData) },
        { (void*)&mtdTag, *reinterpret_cast<StringImpl*>(&mtdData) },
        { (void*)&mtextTag, *reinterpret_cast<StringImpl*>(&mtextData) },
        { (void*)&mtrTag, *reinterpret_cast<StringImpl*>(&mtrData) },
        { (void*)&munderTag, *reinterpret_cast<StringImpl*>(&munderData) },
        { (void*)&munderoverTag, *reinterpret_cast<StringImpl*>(&munderoverData) },
        { (void*)&noneTag, *reinterpret_cast<StringImpl*>(&noneData) },
        { (void*)&semanticsTag, *reinterpret_cast<StringImpl*>(&semanticsData) },
    };

    for (unsigned i = 0; i < WTF_ARRAY_LENGTH(tagsTable); ++i)
        createQualifiedName(tagsTable[i].targetAddress, &tagsTable[i].name, mathmlNS);

    struct AttributesTableEntry {
        void* targetAddress;
        StringImpl& name;
    };

    static const AttributesTableEntry attributesTable[] = {
        { (void*)&actiontypeAttr, *reinterpret_cast<StringImpl*>(&actiontypeData) },
        { (void*)&alttextAttr, *reinterpret_cast<StringImpl*>(&alttextData) },
        { (void*)&backgroundAttr, *reinterpret_cast<StringImpl*>(&backgroundData) },
        { (void*)&closeAttr, *reinterpret_cast<StringImpl*>(&closeData) },
        { (void*)&colorAttr, *reinterpret_cast<StringImpl*>(&colorData) },
        { (void*)&columnspanAttr, *reinterpret_cast<StringImpl*>(&columnspanData) },
        { (void*)&definitionURLAttr, *reinterpret_cast<StringImpl*>(&definitionURLData) },
        { (void*)&denomalignAttr, *reinterpret_cast<StringImpl*>(&denomalignData) },
        { (void*)&depthAttr, *reinterpret_cast<StringImpl*>(&depthData) },
        { (void*)&dirAttr, *reinterpret_cast<StringImpl*>(&dirData) },
        { (void*)&encodingAttr, *reinterpret_cast<StringImpl*>(&encodingData) },
        { (void*)&fontfamilyAttr, *reinterpret_cast<StringImpl*>(&fontfamilyData) },
        { (void*)&fontsizeAttr, *reinterpret_cast<StringImpl*>(&fontsizeData) },
        { (void*)&fontstyleAttr, *reinterpret_cast<StringImpl*>(&fontstyleData) },
        { (void*)&fontweightAttr, *reinterpret_cast<StringImpl*>(&fontweightData) },
        { (void*)&heightAttr, *reinterpret_cast<StringImpl*>(&heightData) },
        { (void*)&linethicknessAttr, *reinterpret_cast<StringImpl*>(&linethicknessData) },
        { (void*)&mathbackgroundAttr, *reinterpret_cast<StringImpl*>(&mathbackgroundData) },
        { (void*)&mathcolorAttr, *reinterpret_cast<StringImpl*>(&mathcolorData) },
        { (void*)&mathsizeAttr, *reinterpret_cast<StringImpl*>(&mathsizeData) },
        { (void*)&mathvariantAttr, *reinterpret_cast<StringImpl*>(&mathvariantData) },
        { (void*)&notationAttr, *reinterpret_cast<StringImpl*>(&notationData) },
        { (void*)&numalignAttr, *reinterpret_cast<StringImpl*>(&numalignData) },
        { (void*)&openAttr, *reinterpret_cast<StringImpl*>(&openData) },
        { (void*)&rowspanAttr, *reinterpret_cast<StringImpl*>(&rowspanData) },
        { (void*)&selectionAttr, *reinterpret_cast<StringImpl*>(&selectionData) },
        { (void*)&separatorsAttr, *reinterpret_cast<StringImpl*>(&separatorsData) },
        { (void*)&srcAttr, *reinterpret_cast<StringImpl*>(&srcData) },
        { (void*)&stretchyAttr, *reinterpret_cast<StringImpl*>(&stretchyData) },
        { (void*)&subscriptshiftAttr, *reinterpret_cast<StringImpl*>(&subscriptshiftData) },
        { (void*)&superscriptshiftAttr, *reinterpret_cast<StringImpl*>(&superscriptshiftData) },
        { (void*)&widthAttr, *reinterpret_cast<StringImpl*>(&widthData) },
    };

    for (unsigned i = 0; i < WTF_ARRAY_LENGTH(attributesTable); ++i)
        createQualifiedName(attributesTable[i].targetAddress, &attributesTable[i].name);
}

} }

