/parser/html/nsHtml5AttributeName.cpp

http://github.com/zpao/v8monkey · C++ · 2573 lines · 2522 code · 26 blank · 25 comment · 6 complexity · c141d2c5f516da5558397152328a0c80 MD5 · raw file

Large files are truncated click here to view the full file

  1. /*
  2. * Copyright (c) 2008-2011 Mozilla Foundation
  3. *
  4. * Permission is hereby granted, free of charge, to any person obtaining a
  5. * copy of this software and associated documentation files (the "Software"),
  6. * to deal in the Software without restriction, including without limitation
  7. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  8. * and/or sell copies of the Software, and to permit persons to whom the
  9. * Software is furnished to do so, subject to the following conditions:
  10. *
  11. * The above copyright notice and this permission notice shall be included in
  12. * all copies or substantial portions of the Software.
  13. *
  14. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  17. * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  20. * DEALINGS IN THE SOFTWARE.
  21. */
  22. /*
  23. * THIS IS A GENERATED FILE. PLEASE DO NOT EDIT.
  24. * Please edit AttributeName.java instead and regenerate.
  25. */
  26. #define nsHtml5AttributeName_cpp__
  27. #include "prtypes.h"
  28. #include "nsIAtom.h"
  29. #include "nsHtml5AtomTable.h"
  30. #include "nsString.h"
  31. #include "nsINameSpaceManager.h"
  32. #include "nsIContent.h"
  33. #include "nsTraceRefcnt.h"
  34. #include "jArray.h"
  35. #include "nsHtml5ArrayCopy.h"
  36. #include "nsAHtml5TreeBuilderState.h"
  37. #include "nsHtml5Atoms.h"
  38. #include "nsHtml5ByteReadable.h"
  39. #include "nsIUnicodeDecoder.h"
  40. #include "nsHtml5Macros.h"
  41. #include "nsHtml5Tokenizer.h"
  42. #include "nsHtml5TreeBuilder.h"
  43. #include "nsHtml5MetaScanner.h"
  44. #include "nsHtml5ElementName.h"
  45. #include "nsHtml5HtmlAttributes.h"
  46. #include "nsHtml5StackNode.h"
  47. #include "nsHtml5UTF16Buffer.h"
  48. #include "nsHtml5StateSnapshot.h"
  49. #include "nsHtml5Portability.h"
  50. #include "nsHtml5AttributeName.h"
  51. #include "nsHtml5ReleasableAttributeName.h"
  52. PRInt32* nsHtml5AttributeName::ALL_NO_NS = 0;
  53. PRInt32* nsHtml5AttributeName::XMLNS_NS = 0;
  54. PRInt32* nsHtml5AttributeName::XML_NS = 0;
  55. PRInt32* nsHtml5AttributeName::XLINK_NS = 0;
  56. nsIAtom** nsHtml5AttributeName::ALL_NO_PREFIX = 0;
  57. nsIAtom** nsHtml5AttributeName::XMLNS_PREFIX = 0;
  58. nsIAtom** nsHtml5AttributeName::XLINK_PREFIX = 0;
  59. nsIAtom** nsHtml5AttributeName::XML_PREFIX = 0;
  60. nsIAtom**
  61. nsHtml5AttributeName::SVG_DIFFERENT(nsIAtom* name, nsIAtom* camel)
  62. {
  63. nsIAtom** arr = new nsIAtom*[4];
  64. arr[0] = name;
  65. arr[1] = name;
  66. arr[2] = camel;
  67. return arr;
  68. }
  69. nsIAtom**
  70. nsHtml5AttributeName::MATH_DIFFERENT(nsIAtom* name, nsIAtom* camel)
  71. {
  72. nsIAtom** arr = new nsIAtom*[4];
  73. arr[0] = name;
  74. arr[1] = camel;
  75. arr[2] = name;
  76. return arr;
  77. }
  78. nsIAtom**
  79. nsHtml5AttributeName::COLONIFIED_LOCAL(nsIAtom* name, nsIAtom* suffix)
  80. {
  81. nsIAtom** arr = new nsIAtom*[4];
  82. arr[0] = name;
  83. arr[1] = suffix;
  84. arr[2] = suffix;
  85. return arr;
  86. }
  87. nsIAtom**
  88. nsHtml5AttributeName::SAME_LOCAL(nsIAtom* name)
  89. {
  90. nsIAtom** arr = new nsIAtom*[4];
  91. arr[0] = name;
  92. arr[1] = name;
  93. arr[2] = name;
  94. return arr;
  95. }
  96. nsHtml5AttributeName*
  97. nsHtml5AttributeName::nameByBuffer(PRUnichar* buf, PRInt32 offset, PRInt32 length, nsHtml5AtomTable* interner)
  98. {
  99. PRInt32 hash = nsHtml5AttributeName::bufToHash(buf, length);
  100. PRInt32 index = nsHtml5AttributeName::ATTRIBUTE_HASHES.binarySearch(hash);
  101. if (index < 0) {
  102. return nsHtml5AttributeName::createAttributeName(nsHtml5Portability::newLocalNameFromBuffer(buf, offset, length, interner));
  103. } else {
  104. nsHtml5AttributeName* attributeName = nsHtml5AttributeName::ATTRIBUTE_NAMES[index];
  105. nsIAtom* name = attributeName->getLocal(NS_HTML5ATTRIBUTE_NAME_HTML);
  106. if (!nsHtml5Portability::localEqualsBuffer(name, buf, offset, length)) {
  107. return nsHtml5AttributeName::createAttributeName(nsHtml5Portability::newLocalNameFromBuffer(buf, offset, length, interner));
  108. }
  109. return attributeName;
  110. }
  111. }
  112. PRInt32
  113. nsHtml5AttributeName::bufToHash(PRUnichar* buf, PRInt32 len)
  114. {
  115. PRInt32 hash2 = 0;
  116. PRInt32 hash = len;
  117. hash <<= 5;
  118. hash += buf[0] - 0x60;
  119. PRInt32 j = len;
  120. for (PRInt32 i = 0; i < 4 && j > 0; i++) {
  121. j--;
  122. hash <<= 5;
  123. hash += buf[j] - 0x60;
  124. hash2 <<= 6;
  125. hash2 += buf[i] - 0x5F;
  126. }
  127. return hash ^ hash2;
  128. }
  129. nsHtml5AttributeName::nsHtml5AttributeName(PRInt32* uri, nsIAtom** local, nsIAtom** prefix)
  130. : uri(uri),
  131. local(local),
  132. prefix(prefix)
  133. {
  134. MOZ_COUNT_CTOR(nsHtml5AttributeName);
  135. }
  136. nsHtml5AttributeName*
  137. nsHtml5AttributeName::createAttributeName(nsIAtom* name)
  138. {
  139. return new nsHtml5ReleasableAttributeName(nsHtml5AttributeName::ALL_NO_NS, nsHtml5AttributeName::SAME_LOCAL(name), ALL_NO_PREFIX);
  140. }
  141. void
  142. nsHtml5AttributeName::release()
  143. {
  144. }
  145. nsHtml5AttributeName::~nsHtml5AttributeName()
  146. {
  147. MOZ_COUNT_DTOR(nsHtml5AttributeName);
  148. delete[] local;
  149. }
  150. nsHtml5AttributeName*
  151. nsHtml5AttributeName::cloneAttributeName(nsHtml5AtomTable* interner)
  152. {
  153. return this;
  154. }
  155. PRInt32
  156. nsHtml5AttributeName::getUri(PRInt32 mode)
  157. {
  158. return uri[mode];
  159. }
  160. nsIAtom*
  161. nsHtml5AttributeName::getLocal(PRInt32 mode)
  162. {
  163. return local[mode];
  164. }
  165. nsIAtom*
  166. nsHtml5AttributeName::getPrefix(PRInt32 mode)
  167. {
  168. return prefix[mode];
  169. }
  170. bool
  171. nsHtml5AttributeName::equalsAnother(nsHtml5AttributeName* another)
  172. {
  173. return this->getLocal(NS_HTML5ATTRIBUTE_NAME_HTML) == another->getLocal(NS_HTML5ATTRIBUTE_NAME_HTML);
  174. }
  175. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_D = nsnull;
  176. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_K = nsnull;
  177. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_R = nsnull;
  178. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_X = nsnull;
  179. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_Y = nsnull;
  180. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_Z = nsnull;
  181. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BY = nsnull;
  182. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CX = nsnull;
  183. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CY = nsnull;
  184. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DX = nsnull;
  185. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DY = nsnull;
  186. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_G2 = nsnull;
  187. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_G1 = nsnull;
  188. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FX = nsnull;
  189. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FY = nsnull;
  190. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_K4 = nsnull;
  191. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_K2 = nsnull;
  192. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_K3 = nsnull;
  193. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_K1 = nsnull;
  194. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ID = nsnull;
  195. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_IN = nsnull;
  196. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_U2 = nsnull;
  197. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_U1 = nsnull;
  198. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RT = nsnull;
  199. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RX = nsnull;
  200. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RY = nsnull;
  201. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TO = nsnull;
  202. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_Y2 = nsnull;
  203. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_Y1 = nsnull;
  204. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_X1 = nsnull;
  205. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_X2 = nsnull;
  206. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALT = nsnull;
  207. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DIR = nsnull;
  208. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DUR = nsnull;
  209. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_END = nsnull;
  210. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FOR = nsnull;
  211. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_IN2 = nsnull;
  212. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MAX = nsnull;
  213. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MIN = nsnull;
  214. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LOW = nsnull;
  215. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REL = nsnull;
  216. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REV = nsnull;
  217. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SRC = nsnull;
  218. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AXIS = nsnull;
  219. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ABBR = nsnull;
  220. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BBOX = nsnull;
  221. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CITE = nsnull;
  222. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CODE = nsnull;
  223. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BIAS = nsnull;
  224. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLS = nsnull;
  225. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLIP = nsnull;
  226. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CHAR = nsnull;
  227. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BASE = nsnull;
  228. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_EDGE = nsnull;
  229. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DATA = nsnull;
  230. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FILL = nsnull;
  231. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FROM = nsnull;
  232. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FORM = nsnull;
  233. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FACE = nsnull;
  234. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HIGH = nsnull;
  235. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HREF = nsnull;
  236. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OPEN = nsnull;
  237. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ICON = nsnull;
  238. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NAME = nsnull;
  239. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MODE = nsnull;
  240. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MASK = nsnull;
  241. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LINK = nsnull;
  242. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LANG = nsnull;
  243. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LOOP = nsnull;
  244. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LIST = nsnull;
  245. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TYPE = nsnull;
  246. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_WHEN = nsnull;
  247. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_WRAP = nsnull;
  248. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TEXT = nsnull;
  249. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PATH = nsnull;
  250. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PING = nsnull;
  251. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REFX = nsnull;
  252. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REFY = nsnull;
  253. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SIZE = nsnull;
  254. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SEED = nsnull;
  255. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ROWS = nsnull;
  256. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SPAN = nsnull;
  257. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STEP = nsnull;
  258. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ROLE = nsnull;
  259. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XREF = nsnull;
  260. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ASYNC = nsnull;
  261. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALINK = nsnull;
  262. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALIGN = nsnull;
  263. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLOSE = nsnull;
  264. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR = nsnull;
  265. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLASS = nsnull;
  266. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLEAR = nsnull;
  267. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BEGIN = nsnull;
  268. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DEPTH = nsnull;
  269. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DEFER = nsnull;
  270. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FENCE = nsnull;
  271. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FRAME = nsnull;
  272. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ISMAP = nsnull;
  273. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONEND = nsnull;
  274. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_INDEX = nsnull;
  275. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ORDER = nsnull;
  276. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OTHER = nsnull;
  277. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONCUT = nsnull;
  278. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NARGS = nsnull;
  279. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MEDIA = nsnull;
  280. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LABEL = nsnull;
  281. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LOCAL = nsnull;
  282. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_WIDTH = nsnull;
  283. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TITLE = nsnull;
  284. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VLINK = nsnull;
  285. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VALUE = nsnull;
  286. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SLOPE = nsnull;
  287. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SHAPE = nsnull;
  288. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCOPE = nsnull;
  289. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCALE = nsnull;
  290. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SPEED = nsnull;
  291. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STYLE = nsnull;
  292. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RULES = nsnull;
  293. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STEMH = nsnull;
  294. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STEMV = nsnull;
  295. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_START = nsnull;
  296. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XMLNS = nsnull;
  297. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCEPT = nsnull;
  298. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCENT = nsnull;
  299. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ASCENT = nsnull;
  300. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACTIVE = nsnull;
  301. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALTIMG = nsnull;
  302. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACTION = nsnull;
  303. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BORDER = nsnull;
  304. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CURSOR = nsnull;
  305. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COORDS = nsnull;
  306. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FILTER = nsnull;
  307. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FORMAT = nsnull;
  308. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HIDDEN = nsnull;
  309. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HSPACE = nsnull;
  310. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HEIGHT = nsnull;
  311. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOVE = nsnull;
  312. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONLOAD = nsnull;
  313. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDRAG = nsnull;
  314. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ORIGIN = nsnull;
  315. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONZOOM = nsnull;
  316. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONHELP = nsnull;
  317. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONSTOP = nsnull;
  318. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDROP = nsnull;
  319. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBLUR = nsnull;
  320. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OBJECT = nsnull;
  321. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OFFSET = nsnull;
  322. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ORIENT = nsnull;
  323. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONCOPY = nsnull;
  324. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NOWRAP = nsnull;
  325. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NOHREF = nsnull;
  326. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MACROS = nsnull;
  327. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_METHOD = nsnull;
  328. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LOWSRC = nsnull;
  329. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LSPACE = nsnull;
  330. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LQUOTE = nsnull;
  331. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_USEMAP = nsnull;
  332. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_WIDTHS = nsnull;
  333. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TARGET = nsnull;
  334. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VALUES = nsnull;
  335. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VALIGN = nsnull;
  336. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VSPACE = nsnull;
  337. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POSTER = nsnull;
  338. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTS = nsnull;
  339. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PROMPT = nsnull;
  340. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCOPED = nsnull;
  341. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STRING = nsnull;
  342. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCHEME = nsnull;
  343. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE = nsnull;
  344. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RADIUS = nsnull;
  345. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RESULT = nsnull;
  346. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REPEAT = nsnull;
  347. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RSPACE = nsnull;
  348. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ROTATE = nsnull;
  349. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RQUOTE = nsnull;
  350. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALTTEXT = nsnull;
  351. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARCHIVE = nsnull;
  352. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AZIMUTH = nsnull;
  353. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLOSURE = nsnull;
  354. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CHECKED = nsnull;
  355. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLASSID = nsnull;
  356. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CHAROFF = nsnull;
  357. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BGCOLOR = nsnull;
  358. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLSPAN = nsnull;
  359. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CHARSET = nsnull;
  360. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COMPACT = nsnull;
  361. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CONTENT = nsnull;
  362. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ENCTYPE = nsnull;
  363. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DATASRC = nsnull;
  364. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DATAFLD = nsnull;
  365. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DECLARE = nsnull;
  366. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DISPLAY = nsnull;
  367. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DIVISOR = nsnull;
  368. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DEFAULT = nsnull;
  369. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DESCENT = nsnull;
  370. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KERNING = nsnull;
  371. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HANGING = nsnull;
  372. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HEADERS = nsnull;
  373. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONPASTE = nsnull;
  374. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONCLICK = nsnull;
  375. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OPTIMUM = nsnull;
  376. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEGIN = nsnull;
  377. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONKEYUP = nsnull;
  378. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONFOCUS = nsnull;
  379. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONERROR = nsnull;
  380. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONINPUT = nsnull;
  381. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONABORT = nsnull;
  382. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONSTART = nsnull;
  383. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONRESET = nsnull;
  384. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OPACITY = nsnull;
  385. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NOSHADE = nsnull;
  386. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MINSIZE = nsnull;
  387. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MAXSIZE = nsnull;
  388. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LARGEOP = nsnull;
  389. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_UNICODE = nsnull;
  390. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TARGETX = nsnull;
  391. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TARGETY = nsnull;
  392. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VIEWBOX = nsnull;
  393. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VERSION = nsnull;
  394. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PATTERN = nsnull;
  395. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PROFILE = nsnull;
  396. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SPACING = nsnull;
  397. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RESTART = nsnull;
  398. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ROWSPAN = nsnull;
  399. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SANDBOX = nsnull;
  400. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SUMMARY = nsnull;
  401. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STANDBY = nsnull;
  402. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REPLACE = nsnull;
  403. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AUTOPLAY = nsnull;
  404. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ADDITIVE = nsnull;
  405. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CALCMODE = nsnull;
  406. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CODETYPE = nsnull;
  407. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CODEBASE = nsnull;
  408. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CONTROLS = nsnull;
  409. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BEVELLED = nsnull;
  410. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BASELINE = nsnull;
  411. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_EXPONENT = nsnull;
  412. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_EDGEMODE = nsnull;
  413. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ENCODING = nsnull;
  414. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPHREF = nsnull;
  415. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DATETIME = nsnull;
  416. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DISABLED = nsnull;
  417. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONTSIZE = nsnull;
  418. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KEYTIMES = nsnull;
  419. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PANOSE_1 = nsnull;
  420. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HREFLANG = nsnull;
  421. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONRESIZE = nsnull;
  422. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONCHANGE = nsnull;
  423. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBOUNCE = nsnull;
  424. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONUNLOAD = nsnull;
  425. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONFINISH = nsnull;
  426. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONSCROLL = nsnull;
  427. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OPERATOR = nsnull;
  428. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OVERFLOW = nsnull;
  429. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONSUBMIT = nsnull;
  430. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONREPEAT = nsnull;
  431. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONSELECT = nsnull;
  432. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NOTATION = nsnull;
  433. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NORESIZE = nsnull;
  434. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MANIFEST = nsnull;
  435. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MATHSIZE = nsnull;
  436. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MULTIPLE = nsnull;
  437. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LONGDESC = nsnull;
  438. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LANGUAGE = nsnull;
  439. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TEMPLATE = nsnull;
  440. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TABINDEX = nsnull;
  441. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_READONLY = nsnull;
  442. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SELECTED = nsnull;
  443. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ROWLINES = nsnull;
  444. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SEAMLESS = nsnull;
  445. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ROWALIGN = nsnull;
  446. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STRETCHY = nsnull;
  447. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REQUIRED = nsnull;
  448. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XML_BASE = nsnull;
  449. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XML_LANG = nsnull;
  450. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_X_HEIGHT = nsnull;
  451. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_OWNS = nsnull;
  452. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AUTOFOCUS = nsnull;
  453. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_SORT = nsnull;
  454. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCESSKEY = nsnull;
  455. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_BUSY = nsnull;
  456. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_GRAB = nsnull;
  457. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AMPLITUDE = nsnull;
  458. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_LIVE = nsnull;
  459. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLIP_RULE = nsnull;
  460. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLIP_PATH = nsnull;
  461. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_EQUALROWS = nsnull;
  462. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ELEVATION = nsnull;
  463. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DIRECTION = nsnull;
  464. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DRAGGABLE = nsnull;
  465. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FILTERRES = nsnull;
  466. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FILL_RULE = nsnull;
  467. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONTSTYLE = nsnull;
  468. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONT_SIZE = nsnull;
  469. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KEYPOINTS = nsnull;
  470. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HIDEFOCUS = nsnull;
  471. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMESSAGE = nsnull;
  472. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_INTERCEPT = nsnull;
  473. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDRAGEND = nsnull;
  474. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOVEEND = nsnull;
  475. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONINVALID = nsnull;
  476. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONKEYDOWN = nsnull;
  477. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONFOCUSIN = nsnull;
  478. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSEUP = nsnull;
  479. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_INPUTMODE = nsnull;
  480. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONROWEXIT = nsnull;
  481. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MATHCOLOR = nsnull;
  482. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MASKUNITS = nsnull;
  483. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MAXLENGTH = nsnull;
  484. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LINEBREAK = nsnull;
  485. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TRANSFORM = nsnull;
  486. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_V_HANGING = nsnull;
  487. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VALUETYPE = nsnull;
  488. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTSATZ = nsnull;
  489. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTSATX = nsnull;
  490. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTSATY = nsnull;
  491. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SYMMETRIC = nsnull;
  492. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCROLLING = nsnull;
  493. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REPEATDUR = nsnull;
  494. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SELECTION = nsnull;
  495. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SEPARATOR = nsnull;
  496. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XML_SPACE = nsnull;
  497. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AUTOSUBMIT = nsnull;
  498. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALPHABETIC = nsnull;
  499. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACTIONTYPE = nsnull;
  500. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCUMULATE = nsnull;
  501. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_LEVEL = nsnull;
  502. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLUMNSPAN = nsnull;
  503. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CAP_HEIGHT = nsnull;
  504. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BACKGROUND = nsnull;
  505. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPH_NAME = nsnull;
  506. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GROUPALIGN = nsnull;
  507. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONTFAMILY = nsnull;
  508. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONTWEIGHT = nsnull;
  509. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONT_STYLE = nsnull;
  510. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KEYSPLINES = nsnull;
  511. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HTTP_EQUIV = nsnull;
  512. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONACTIVATE = nsnull;
  513. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OCCURRENCE = nsnull;
  514. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_IRRELEVANT = nsnull;
  515. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDBLCLICK = nsnull;
  516. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDRAGDROP = nsnull;
  517. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONKEYPRESS = nsnull;
  518. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONROWENTER = nsnull;
  519. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDRAGOVER = nsnull;
  520. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONFOCUSOUT = nsnull;
  521. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSEOUT = nsnull;
  522. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_NUMOCTAVES = nsnull;
  523. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MARKER_MID = nsnull;
  524. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MARKER_END = nsnull;
  525. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TEXTLENGTH = nsnull;
  526. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VISIBILITY = nsnull;
  527. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VIEWTARGET = nsnull;
  528. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VERT_ADV_Y = nsnull;
  529. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PATHLENGTH = nsnull;
  530. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REPEAT_MAX = nsnull;
  531. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RADIOGROUP = nsnull;
  532. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STOP_COLOR = nsnull;
  533. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SEPARATORS = nsnull;
  534. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REPEAT_MIN = nsnull;
  535. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ROWSPACING = nsnull;
  536. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ZOOMANDPAN = nsnull;
  537. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_TYPE = nsnull;
  538. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_ROLE = nsnull;
  539. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_HREF = nsnull;
  540. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_SHOW = nsnull;
  541. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCENTUNDER = nsnull;
  542. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_SECRET = nsnull;
  543. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_ATOMIC = nsnull;
  544. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_HIDDEN = nsnull;
  545. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_FLOWTO = nsnull;
  546. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARABIC_FORM = nsnull;
  547. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CELLPADDING = nsnull;
  548. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CELLSPACING = nsnull;
  549. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLUMNWIDTH = nsnull;
  550. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CROSSORIGIN = nsnull;
  551. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLUMNALIGN = nsnull;
  552. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLUMNLINES = nsnull;
  553. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CONTEXTMENU = nsnull;
  554. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BASEPROFILE = nsnull;
  555. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONT_FAMILY = nsnull;
  556. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FRAMEBORDER = nsnull;
  557. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FILTERUNITS = nsnull;
  558. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FLOOD_COLOR = nsnull;
  559. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONT_WEIGHT = nsnull;
  560. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HORIZ_ADV_X = nsnull;
  561. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDRAGLEAVE = nsnull;
  562. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSEMOVE = nsnull;
  563. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ORIENTATION = nsnull;
  564. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSEDOWN = nsnull;
  565. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSEOVER = nsnull;
  566. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDRAGENTER = nsnull;
  567. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_IDEOGRAPHIC = nsnull;
  568. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFORECUT = nsnull;
  569. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONFORMINPUT = nsnull;
  570. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDRAGSTART = nsnull;
  571. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOVESTART = nsnull;
  572. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MARKERUNITS = nsnull;
  573. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MATHVARIANT = nsnull;
  574. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MARGINWIDTH = nsnull;
  575. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MARKERWIDTH = nsnull;
  576. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TEXT_ANCHOR = nsnull;
  577. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TABLEVALUES = nsnull;
  578. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCRIPTLEVEL = nsnull;
  579. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REPEATCOUNT = nsnull;
  580. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STITCHTILES = nsnull;
  581. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STARTOFFSET = nsnull;
  582. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCROLLDELAY = nsnull;
  583. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XMLNS_XLINK = nsnull;
  584. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_TITLE = nsnull;
  585. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_INVALID = nsnull;
  586. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_PRESSED = nsnull;
  587. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_CHECKED = nsnull;
  588. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_AUTOCOMPLETE = nsnull;
  589. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_SETSIZE = nsnull;
  590. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_CHANNEL = nsnull;
  591. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_EQUALCOLUMNS = nsnull;
  592. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DISPLAYSTYLE = nsnull;
  593. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DATAFORMATAS = nsnull;
  594. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FILL_OPACITY = nsnull;
  595. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONT_VARIANT = nsnull;
  596. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONT_STRETCH = nsnull;
  597. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FRAMESPACING = nsnull;
  598. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KERNELMATRIX = nsnull;
  599. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDEACTIVATE = nsnull;
  600. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONROWSDELETE = nsnull;
  601. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSELEAVE = nsnull;
  602. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONFORMCHANGE = nsnull;
  603. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONCELLCHANGE = nsnull;
  604. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSEWHEEL = nsnull;
  605. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONMOUSEENTER = nsnull;
  606. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONAFTERPRINT = nsnull;
  607. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFORECOPY = nsnull;
  608. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MARGINHEIGHT = nsnull;
  609. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MARKERHEIGHT = nsnull;
  610. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MARKER_START = nsnull;
  611. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MATHEMATICAL = nsnull;
  612. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LENGTHADJUST = nsnull;
  613. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_UNSELECTABLE = nsnull;
  614. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_UNICODE_BIDI = nsnull;
  615. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_UNITS_PER_EM = nsnull;
  616. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_WORD_SPACING = nsnull;
  617. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_WRITING_MODE = nsnull;
  618. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_V_ALPHABETIC = nsnull;
  619. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PATTERNUNITS = nsnull;
  620. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SPREADMETHOD = nsnull;
  621. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SURFACESCALE = nsnull;
  622. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE_WIDTH = nsnull;
  623. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REPEAT_START = nsnull;
  624. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STDDEVIATION = nsnull;
  625. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STOP_OPACITY = nsnull;
  626. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_CONTROLS = nsnull;
  627. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_HASPOPUP = nsnull;
  628. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCENT_HEIGHT = nsnull;
  629. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_VALUENOW = nsnull;
  630. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_RELEVANT = nsnull;
  631. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_POSINSET = nsnull;
  632. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_VALUEMAX = nsnull;
  633. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_READONLY = nsnull;
  634. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_SELECTED = nsnull;
  635. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_REQUIRED = nsnull;
  636. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_EXPANDED = nsnull;
  637. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_DISABLED = nsnull;
  638. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ATTRIBUTETYPE = nsnull;
  639. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ATTRIBUTENAME = nsnull;
  640. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_DATATYPE = nsnull;
  641. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_VALUEMIN = nsnull;
  642. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BASEFREQUENCY = nsnull;
  643. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLUMNSPACING = nsnull;
  644. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_PROFILE = nsnull;
  645. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CLIPPATHUNITS = nsnull;
  646. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DEFINITIONURL = nsnull;
  647. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GRADIENTUNITS = nsnull;
  648. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FLOOD_OPACITY = nsnull;
  649. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONAFTERUPDATE = nsnull;
  650. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONERRORUPDATE = nsnull;
  651. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFOREPASTE = nsnull;
  652. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONLOSECAPTURE = nsnull;
  653. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONCONTEXTMENU = nsnull;
  654. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONSELECTSTART = nsnull;
  655. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFOREPRINT = nsnull;
  656. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MOVABLELIMITS = nsnull;
  657. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LINETHICKNESS = nsnull;
  658. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_UNICODE_RANGE = nsnull;
  659. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_THINMATHSPACE = nsnull;
  660. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VERT_ORIGIN_X = nsnull;
  661. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VERT_ORIGIN_Y = nsnull;
  662. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_V_IDEOGRAPHIC = nsnull;
  663. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PRESERVEALPHA = nsnull;
  664. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCRIPTMINSIZE = nsnull;
  665. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SPECIFICATION = nsnull;
  666. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_ACTUATE = nsnull;
  667. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XLINK_ARCROLE = nsnull;
  668. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ACCEPT_CHARSET = nsnull;
  669. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALIGNMENTSCOPE = nsnull;
  670. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_MULTILINE = nsnull;
  671. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_BASELINE_SHIFT = nsnull;
  672. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HORIZ_ORIGIN_X = nsnull;
  673. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_HORIZ_ORIGIN_Y = nsnull;
  674. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFOREUPDATE = nsnull;
  675. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONFILTERCHANGE = nsnull;
  676. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONROWSINSERTED = nsnull;
  677. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFOREUNLOAD = nsnull;
  678. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MATHBACKGROUND = nsnull;
  679. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LETTER_SPACING = nsnull;
  680. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LIGHTING_COLOR = nsnull;
  681. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_THICKMATHSPACE = nsnull;
  682. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TEXT_RENDERING = nsnull;
  683. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_V_MATHEMATICAL = nsnull;
  684. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_POINTER_EVENTS = nsnull;
  685. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PRIMITIVEUNITS = nsnull;
  686. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SYSTEMLANGUAGE = nsnull;
  687. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE_LINECAP = nsnull;
  688. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SUBSCRIPTSHIFT = nsnull;
  689. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE_OPACITY = nsnull;
  690. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_DROPEFFECT = nsnull;
  691. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_LABELLEDBY = nsnull;
  692. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_TEMPLATEID = nsnull;
  693. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_RENDERING = nsnull;
  694. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CONTENTEDITABLE = nsnull;
  695. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DIFFUSECONSTANT = nsnull;
  696. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDATAAVAILABLE = nsnull;
  697. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONCONTROLSELECT = nsnull;
  698. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_IMAGE_RENDERING = nsnull;
  699. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MEDIUMMATHSPACE = nsnull;
  700. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_TEXT_DECORATION = nsnull;
  701. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SHAPE_RENDERING = nsnull;
  702. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE_LINEJOIN = nsnull;
  703. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REPEAT_TEMPLATE = nsnull;
  704. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_DESCRIBEDBY = nsnull;
  705. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CONTENTSTYLETYPE = nsnull;
  706. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_FONT_SIZE_ADJUST = nsnull;
  707. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_KERNELUNITLENGTH = nsnull;
  708. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFOREACTIVATE = nsnull;
  709. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONPROPERTYCHANGE = nsnull;
  710. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDATASETCHANGED = nsnull;
  711. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_MASKCONTENTUNITS = nsnull;
  712. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PATTERNTRANSFORM = nsnull;
  713. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REQUIREDFEATURES = nsnull;
  714. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_RENDERING_INTENT = nsnull;
  715. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SPECULAREXPONENT = nsnull;
  716. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SPECULARCONSTANT = nsnull;
  717. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SUPERSCRIPTSHIFT = nsnull;
  718. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE_DASHARRAY = nsnull;
  719. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_XCHANNELSELECTOR = nsnull;
  720. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_YCHANNELSELECTOR = nsnull;
  721. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_AUTOCOMPLETE = nsnull;
  722. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_CONTENTSCRIPTTYPE = nsnull;
  723. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ENABLE_BACKGROUND = nsnull;
  724. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_DOMINANT_BASELINE = nsnull;
  725. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GRADIENTTRANSFORM = nsnull;
  726. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFORDEACTIVATE = nsnull;
  727. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONDATASETCOMPLETE = nsnull;
  728. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OVERLINE_POSITION = nsnull;
  729. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONBEFOREEDITFOCUS = nsnull;
  730. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_LIMITINGCONEANGLE = nsnull;
  731. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VERYTHINMATHSPACE = nsnull;
  732. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE_DASHOFFSET = nsnull;
  733. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STROKE_MITERLIMIT = nsnull;
  734. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ALIGNMENT_BASELINE = nsnull;
  735. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ONREADYSTATECHANGE = nsnull;
  736. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_OVERLINE_THICKNESS = nsnull;
  737. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_UNDERLINE_POSITION = nsnull;
  738. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VERYTHICKMATHSPACE = nsnull;
  739. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_REQUIREDEXTENSIONS = nsnull;
  740. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_INTERPOLATION = nsnull;
  741. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_UNDERLINE_THICKNESS = nsnull;
  742. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PRESERVEASPECTRATIO = nsnull;
  743. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_PATTERNCONTENTUNITS = nsnull;
  744. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_MULTISELECTABLE = nsnull;
  745. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_SCRIPTSIZEMULTIPLIER = nsnull;
  746. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_ARIA_ACTIVEDESCENDANT = nsnull;
  747. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VERYVERYTHINMATHSPACE = nsnull;
  748. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_VERYVERYTHICKMATHSPACE = nsnull;
  749. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STRIKETHROUGH_POSITION = nsnull;
  750. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_STRIKETHROUGH_THICKNESS = nsnull;
  751. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_EXTERNALRESOURCESREQUIRED = nsnull;
  752. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPH_ORIENTATION_VERTICAL = nsnull;
  753. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_COLOR_INTERPOLATION_FILTERS = nsnull;
  754. nsHtml5AttributeName* nsHtml5AttributeName::ATTR_GLYPH_ORIENTATION_HORIZONTAL = nsnull;
  755. nsHtml5AttributeName** nsHtml5AttributeName::ATTRIBUTE_NAMES = 0;
  756. static PRInt32 const ATTRIBUTE_HASHES_DATA[] = { 1153, 1383, 1601, 1793, 1827, 1857, 68600, 69146, 69177, 70237, 70270, 71572, 71669, 72415, 72444, 74846, 74904, 74943, 75001, 75276, 75590, 84742, 84839, 85575, 85963, 85992, 87204, 88074, 88171, 89130, 89163, 3207892, 3283895, 3284791, 3338752, 3358197, 3369562, 3539124, 3562402, 3574260, 3670335, 3696933, 3721879, 135280021, 135346322, 136317019, 136475749, 136548517, 136652214, 136884919, 136902418, 136942992, 137292068, 139120259, 139785574, 142250603, 142314056, 142331176, 142519584, 144752417, 145106895, 146147200, 146765926, 148805544, 149655723, 149809441, 150018784, 150445028, 150813181, 150923321, 152528754, 152536216, 152647366, 152962785, 155219321, 155654904, 157317483, 157350248, 157437941, 157447478, 157604838, 157685404, 157894402, 158315188, 166078431, 169409980, 169700259, 169856932, 170007032, 170409695, 170466488, 170513710, 170608367, 173028944, 173896963, 176090625, 176129212, 179390001, 179489057, 179627464, 179840468, 179849042, 180004216, 181779081, 183027151, 183645319, 183698797, 185922012, 185997252, 188312483, 188675799, 190977533, 190992569, 191006194, 191033518, 191038774, 191096249, 191166163, 191194426, 191522106, 191568039, 200104642, 202506661, 202537381, 202602917, 203070590, 203120766, 203389054, 203690071, 203971238, 203986524, 209040857, 209125756, 212055489, 212322418, 212746849, 213002877, 213055164, 213088023, 213259873, 213273386, 213435118, 213437318, 213438231, 213493071, 213532268, 213542834, 213584431, 213659891, 215285828, 215880731, 216112976, 216684637, 217369699, 217565298, 217576549, 218186795, 219743185, 220082234, 221623802, 221986406, 222283890, 223089542, 223138630, 223311265, 224547358, 224587256, 224589550, 224655650, 224785518, 224810917, 224813302, 225429618, 225432950, 225440869, 236107233, 236709921, 236838947, 237117095, 237143271, 237172455, 237209953, 237354143, 237372743, 237668065, 237703073, 237714273, 239743521, 240512803, 240522627, 240560417, 240656513, 241015715, 241062755, 241065383, 243523041, 245865199, 246261793, 246556195, 246774817, 246923491, 246928419, 246981667, 247014847, 247058369, 247112833, 247118177, 247119137, 247128739, 247316903, 249533729, 250235623, 250269543, 251402351, 252339047, 253260911, 253293679, 254844367, 255547879, 256077281, 256345377, 258124199, 258354465, 258605063, 258744193, 258845603, 258856961, 258926689, 269869248, 270174334, 270709417, 270778994, 270781796, 271102503, 271478858, 271490090, 272870654, 273335275, 273369140, 273924313, 274108530, 274116736, 276818662, 277476156, 279156579, 279349675, 280108533, 280128712, 280132869, 280162403, 280280292, 280413430, 280506130, 280677397, 280678580, 280686710, 280689066, 282736758, 283110901, 283275116, 283823226, 283890012, 284479340, 284606461, 286700477, 286798916, 291557706, 291665349, 291804100, 292138018, 292166446, 292418738, 292451039, 300298041, 300374839, 300597935, 303073389, 303083839, 303266673, 303354997, 303430688, 303576261, 303724281, 303819694, 304242723, 304382625, 306247792, 307227811, 307468786, 307724489, 309671175, 310252031, 310358241, 310373094, 311015256, 313357609, 313683893, 313701861, 313706996, 313707317, 313710350, 314027746, 314038181, 314091299, 314205627, 314233813, 316741830, 316797986, 317486755, 317794164, 320076137, 322657125, 322887778, 323506876, 323572412, 323605180, 325060058, 325320188, 325398738, 325541490, 325671619, 333868843, 336806130, 337212108, 337282686, 337285434, 337585223, 338036037, 338298087, 338566051, 340943551, 341190970, 342995704, 343352124, 343912673, 344585053, 346977248, 347218098, 347262163, 347278576, 347438191, 347655959, 347684788, 347726430, 347727772, 347776035, 347776629, 349500753, 350880161, 350887073, 353384123, 355496998, 355906922, 355979793, 356545959, 358637867, 358905016, 359164318, 359247286, 359350571, 359579447, 365560330, 367399355, 367420285, 367510727, 368013212, 370234760, 370353345, 370710317, 371074566, 371122285, 371194213, 371448425, 371448430, 371545055, 371593469, 371596922, 371758751, 371964792, 372151328, 376550136, 376710172, 376795771, 376826271, 376906556, 380514830, 380774774, 380775037, 381030322, 381136500, 381281631, 381282269, 381285504, 381330595, 381331422, 381335911, 381336484, 383907298, 383917408, 384595009, 384595013, 387799894, 387823201, 392581647, 392584937, 3927426