Imported Upstream version 2.81
[platform/upstream/libbullet.git] / Demos / DX11ClothDemo / DXUT / Optional / DXUTShapes.cpp
1 //--------------------------------------------------------------------------------------\r
2 // File: DXUTShapes.cpp\r
3 //\r
4 // Shape creation functions for DXUT\r
5 //\r
6 // Copyright (c) Microsoft Corporation. All rights reserved\r
7 //--------------------------------------------------------------------------------------\r
8 #include "DXUT.h"\r
9 #include "DXUTShapes.h"\r
10 \r
11 \r
12 //--------------------------------------------------------------------------------------\r
13 // VERTEX is the vertex layout for all DXUT created shapes\r
14 //--------------------------------------------------------------------------------------\r
15 struct VERTEX\r
16 {\r
17     D3DXVECTOR3 pos;\r
18     D3DXVECTOR3 norm;\r
19 };\r
20 \r
21 static const D3D10_INPUT_ELEMENT_DESC s_ShapeLayout[] =\r
22 {\r
23     { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r
24     { "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0 },\r
25 };\r
26 \r
27 \r
28 //--------------------------------------------------------------------------------------\r
29 static inline void sincosf( float angle, float* psin, float* pcos )\r
30 {\r
31     *psin = sinf( angle );\r
32     *pcos = cosf( angle );\r
33 }\r
34 \r
35 \r
36 //--------------------------------------------------------------------------------------\r
37 // Create D3DX10Mesh from the input vertex and index data\r
38 //--------------------------------------------------------------------------------------\r
39 HRESULT CreateShapeMesh( ID3D10Device* pDev10, ID3DX10Mesh** ppMesh, VERTEX* pVertices, UINT NumVertices,\r
40                          WORD* pIndices, UINT NumIndices )\r
41 {\r
42     HRESULT hr = S_OK;\r
43 \r
44     // Create the mesh \r
45     hr = D3DX10CreateMesh( pDev10,\r
46                            s_ShapeLayout,\r
47                            sizeof( s_ShapeLayout ) / sizeof( s_ShapeLayout[0] ),\r
48                            s_ShapeLayout[0].SemanticName,\r
49                            NumVertices,\r
50                            NumIndices / 3,\r
51                            0,\r
52                            ppMesh );\r
53     if( FAILED( hr ) )\r
54         return hr;\r
55 \r
56     // Set the Vertex Data\r
57     ( *ppMesh )->SetVertexData( 0, pVertices );\r
58 \r
59     // Set the Index Data\r
60     ( *ppMesh )->SetIndexData( pIndices, NumIndices );\r
61 \r
62     // Set attributes\r
63     DWORD dwNumAttr = 1;\r
64     D3DX10_ATTRIBUTE_RANGE* pAttr = new D3DX10_ATTRIBUTE_RANGE[dwNumAttr];\r
65     if( !pAttr )\r
66         return E_OUTOFMEMORY;\r
67 \r
68     pAttr[0].AttribId = 0;\r
69     pAttr[0].FaceStart = 0;\r
70     pAttr[0].FaceCount = NumIndices / 3;\r
71     pAttr[0].VertexStart = 0;\r
72     pAttr[0].VertexCount = NumVertices;\r
73     ( *ppMesh )->SetAttributeTable( pAttr, dwNumAttr );\r
74     SAFE_DELETE_ARRAY( pAttr );\r
75 \r
76     // Create the internal mesh VBs and IBs\r
77     ( *ppMesh )->CommitToDevice();\r
78 \r
79     return hr;\r
80 }\r
81 \r
82 \r
83 //----------------------------------------------------------------------------\r
84 // Box\r
85 //----------------------------------------------------------------------------\r
86 static float cubeN[6][3] =\r
87 {\r
88     {-1.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {1.0f, 0.0f, 0.0f},\r
89     {0.0f, -1.0f, 0.0f}, {0.0f, 0.0f, 1.0f}, {0.0f, 0.0f, -1.0f}\r
90 };\r
91 \r
92 static WORD cubeF[6][4] =\r
93 {\r
94     { 0, 1, 5, 4 }, { 4, 5, 6, 7 }, { 7, 6, 2, 3 },\r
95     { 1, 0, 3, 2 }, { 1, 2, 6, 5 }, { 0, 4, 7, 3 }\r
96 };\r
97 \r
98 static float cubeV[8][3] =\r
99 {\r
100     // Lower tier (lower in y)\r
101     {-.5f, -.5f, -.5f},\r
102     {-.5f, -.5f,  .5f},\r
103     { .5f, -.5f,  .5f},\r
104     { .5f, -.5f, -.5f},\r
105 \r
106     // Upper tier\r
107     {-.5f, .5f, -.5f},\r
108     {-.5f, .5f,  .5f},\r
109     { .5f, .5f,  .5f},\r
110     { .5f, .5f, -.5f},\r
111 };\r
112 \r
113 static float cubeT[4][2] =\r
114 {\r
115     // Lower tier (lower in y)\r
116     {0.0f, 0.0f},\r
117     {0.0f, 1.0f},\r
118     {1.0f, 1.0f},\r
119     {1.0f, 0.0f}\r
120 };\r
121 \r
122 static WORD cubeFT[6][4] =\r
123 {\r
124     { 3, 0, 1, 2 }, { 0, 1, 2, 3 }, { 1, 2, 3, 0 },\r
125     { 0, 1, 2, 3 }, { 3, 0, 1, 2 }, { 0, 1, 2, 3 }\r
126 };\r
127 \r
128 \r
129 //--------------------------------------------------------------------------------------\r
130 // MakeBox helper\r
131 //--------------------------------------------------------------------------------------\r
132 static void    MakeBox(\r
133 VERTEX* pVertices,\r
134 DWORD* pPointRep,\r
135 WORD* pwIndices,\r
136 float fWidth,\r
137 float fHeight,\r
138 float fDepth )\r
139 {\r
140     // Fill in the data\r
141     VERTEX* pVertex = pVertices;\r
142     WORD* pwFace = pwIndices;\r
143     UINT iVertex = 0;\r
144 \r
145     // i iterates over the faces, 2 triangles per face\r
146     for( int i = 0; i < 6; i++ )\r
147     {\r
148         for( int j = 0; j < 4; j++ )\r
149         {\r
150             pVertex->pos.x = cubeV[cubeF[i][j]][0] * fWidth;\r
151             pVertex->pos.y = cubeV[cubeF[i][j]][1] * fHeight;\r
152             pVertex->pos.z = cubeV[cubeF[i][j]][2] * fDepth;\r
153 \r
154             pVertex->norm.x = cubeN[i][0];\r
155             pVertex->norm.y = cubeN[i][1];\r
156             pVertex->norm.z = cubeN[i][2];\r
157 \r
158             if( pPointRep != NULL )\r
159             {\r
160                 *pPointRep = cubeF[i][j];\r
161                 pPointRep++;\r
162             }\r
163 \r
164             pVertex++;\r
165         }\r
166 \r
167         pwFace[0] = ( WORD )( iVertex );\r
168         pwFace[1] = ( WORD )( iVertex + 1 );\r
169         pwFace[2] = ( WORD )( iVertex + 2 );\r
170         pwFace += 3;\r
171 \r
172         pwFace[0] = ( WORD )( iVertex + 2 );\r
173         pwFace[1] = ( WORD )( iVertex + 3 );\r
174         pwFace[2] = ( WORD )( iVertex );\r
175         pwFace += 3;\r
176 \r
177         iVertex += 4;\r
178     }\r
179 }\r
180 \r
181 \r
182 //--------------------------------------------------------------------------------------\r
183 // DXUTCreateBox - create a box mesh\r
184 //--------------------------------------------------------------------------------------\r
185 HRESULT WINAPI DXUTCreateBox( ID3D10Device* pDevice, float fWidth, float fHeight, float fDepth, ID3DX10Mesh** ppMesh )\r
186 {\r
187     HRESULT hr = S_OK;\r
188 \r
189     WORD* pwIndices = NULL;\r
190     VERTEX* pVertices = NULL;\r
191 \r
192     // Set up the defaults\r
193     if( D3DX_DEFAULT_FLOAT == fWidth )\r
194         fWidth = 1.0f;\r
195     if( D3DX_DEFAULT_FLOAT == fHeight )\r
196         fHeight = 1.0f;\r
197     if( D3DX_DEFAULT_FLOAT == fDepth )\r
198         fDepth = 1.0f;\r
199 \r
200 \r
201     // Validate parameters\r
202     if( !pDevice )\r
203         return D3DERR_INVALIDCALL;\r
204     if( !ppMesh )\r
205         return D3DERR_INVALIDCALL;\r
206     if( fWidth < 0.0f )\r
207         return D3DERR_INVALIDCALL;\r
208     if( fHeight < 0.0f )\r
209         return D3DERR_INVALIDCALL;\r
210     if( fDepth < 0.0f )\r
211         return D3DERR_INVALIDCALL;\r
212 \r
213     // Create the mesh\r
214     UINT cFaces = 12;\r
215     UINT cVertices = 24;\r
216 \r
217     // Create enough memory for the vertices and indices\r
218     pVertices = new VERTEX[ cVertices ];\r
219     if( !pVertices )\r
220         return E_OUTOFMEMORY;\r
221     pwIndices = new WORD[ cFaces * 3 ];\r
222     if( !pwIndices )\r
223         return E_OUTOFMEMORY;\r
224 \r
225     // Create a box\r
226     MakeBox( pVertices, NULL, pwIndices, fWidth, fHeight, fDepth );\r
227 \r
228     // Create a mesh\r
229     hr = CreateShapeMesh( pDevice, ppMesh, pVertices, cVertices, pwIndices, cFaces * 3 );\r
230 \r
231     // Free up the memory\r
232     SAFE_DELETE_ARRAY( pVertices );\r
233     SAFE_DELETE_ARRAY( pwIndices );\r
234 \r
235     return hr;\r
236 \r
237 }\r
238 \r
239 #define CACHE_SIZE    240\r
240 \r
241 //----------------------------------------------------------------------------\r
242 // MakeCylinder helper\r
243 //----------------------------------------------------------------------------\r
244 static void    MakeCylinder(\r
245 VERTEX* pVertices,\r
246 DWORD* pPointReps,\r
247 WORD* pwIndices,\r
248 float fRadius1,\r
249 float fRadius2,\r
250 float fLength,\r
251 UINT uSlices,\r
252 UINT uStacks )\r
253 {\r
254     UINT i, j;\r
255 \r
256     // Sin/Cos caches\r
257     float sinI[CACHE_SIZE], cosI[CACHE_SIZE];\r
258 \r
259     for( i = 0; i < uSlices; i++ )\r
260         sincosf( 2.0f * D3DX_PI * i / uSlices, sinI + i, cosI + i );\r
261 \r
262 \r
263     // Compute side normal angle\r
264     float fDeltaRadius = fRadius2 - fRadius1;\r
265     float fSideLength = sqrtf( fDeltaRadius * fDeltaRadius + fLength * fLength );\r
266 \r
267     float fNormalXY = ( fSideLength > 0.00001f ) ? ( fLength / fSideLength )       : 1.0f;\r
268     float fNormalZ = ( fSideLength > 0.00001f ) ? ( -fDeltaRadius / fSideLength ) : 0.0f;\r
269 \r
270 \r
271 \r
272     // Generate vertices\r
273     VERTEX* pVertex = pVertices;\r
274     float fZ, fRadius;\r
275     DWORD iVertex;\r
276 \r
277     // Base cap (uSlices + 1)\r
278     fZ = fLength * -0.5f;\r
279     fRadius = fRadius1;\r
280     iVertex = 0;\r
281 \r
282     pVertex->pos = D3DXVECTOR3( 0.0f, 0.0f, fZ );\r
283     pVertex->norm = D3DXVECTOR3( 0.0f, 0.0f, -1.0f );\r
284     pVertex++;\r
285     if( pPointReps != NULL )\r
286         pPointReps[iVertex] = iVertex;\r
287     iVertex++;\r
288 \r
289     for( i = 0; i < uSlices; i++ )\r
290     {\r
291         pVertex->pos = D3DXVECTOR3( fRadius * sinI[i], fRadius * cosI[i], fZ );\r
292         pVertex->norm = D3DXVECTOR3( 0.0f, 0.0f, -1.0f );\r
293         pVertex++;\r
294 \r
295         // link into stack vertices, which follow\r
296         if( pPointReps != NULL )\r
297             pPointReps[iVertex] = iVertex + uSlices;\r
298         iVertex++;\r
299     }\r
300 \r
301     // Stacks ((uStacks + 1)*uSlices)\r
302     for( j = 0; j <= uStacks; j++ )\r
303     {\r
304         float f = ( float )j / ( float )uStacks;\r
305 \r
306         fZ = fLength * ( f - 0.5f );\r
307         fRadius = fRadius1 + f * fDeltaRadius;\r
308 \r
309         for( i = 0; i < uSlices; i++ )\r
310         {\r
311             pVertex->pos = D3DXVECTOR3( fRadius * sinI[i], fRadius * cosI[i], fZ );\r
312             pVertex->norm = D3DXVECTOR3( fNormalXY * sinI[i], fNormalXY * cosI[i], fNormalZ );\r
313             pVertex++;\r
314             if( pPointReps != NULL )\r
315                 pPointReps[iVertex] = iVertex;\r
316             iVertex++;\r
317         }\r
318     }\r
319 \r
320     // Top cap (uSlices + 1)\r
321     fZ = fLength * 0.5f;\r
322     fRadius = fRadius2;\r
323 \r
324     for( i = 0; i < uSlices; i++ )\r
325     {\r
326         pVertex->pos = D3DXVECTOR3( fRadius * sinI[i], fRadius * cosI[i], fZ );\r
327         pVertex->norm = D3DXVECTOR3( 0.0f, 0.0f, 1.0f );\r
328         pVertex++;\r
329 \r
330         // link into stack vertices, which precede\r
331         if( pPointReps != NULL )\r
332             pPointReps[iVertex] = iVertex - uSlices;\r
333         iVertex++;\r
334     }\r
335 \r
336     pVertex->pos = D3DXVECTOR3( 0.0f, 0.0f, fZ );\r
337     pVertex->norm = D3DXVECTOR3( 0.0f, 0.0f, 1.0f );\r
338     pVertex++;\r
339     if( pPointReps != NULL )\r
340         pPointReps[iVertex] = iVertex;\r
341     iVertex++;\r
342 \r
343 \r
344 \r
345     // Generate indices\r
346     WORD* pwFace = pwIndices;\r
347     UINT uRowA, uRowB;\r
348 \r
349     // Z+ pole (uSlices)\r
350     uRowA = 0;\r
351     uRowB = 1;\r
352 \r
353     for( i = 0; i < uSlices - 1; i++ )\r
354     {\r
355         pwFace[0] = ( WORD )( uRowA );\r
356         pwFace[1] = ( WORD )( uRowB + i );\r
357         pwFace[2] = ( WORD )( uRowB + i + 1 );\r
358         pwFace += 3;\r
359     }\r
360 \r
361     pwFace[0] = ( WORD )( uRowA );\r
362     pwFace[1] = ( WORD )( uRowB + i );\r
363     pwFace[2] = ( WORD )( uRowB );\r
364     pwFace += 3;\r
365 \r
366     // Interior stacks (uStacks * uSlices * 2)\r
367     for( j = 0; j < uStacks; j++ )\r
368     {\r
369         uRowA = 1 + ( j + 1 ) * uSlices;\r
370         uRowB = uRowA + uSlices;\r
371 \r
372         for( i = 0; i < uSlices - 1; i++ )\r
373         {\r
374             pwFace[0] = ( WORD )( uRowA + i );\r
375             pwFace[1] = ( WORD )( uRowB + i );\r
376             pwFace[2] = ( WORD )( uRowA + i + 1 );\r
377             pwFace += 3;\r
378 \r
379             pwFace[0] = ( WORD )( uRowA + i + 1 );\r
380             pwFace[1] = ( WORD )( uRowB + i );\r
381             pwFace[2] = ( WORD )( uRowB + i + 1 );\r
382             pwFace += 3;\r
383         }\r
384 \r
385         pwFace[0] = ( WORD )( uRowA + i );\r
386         pwFace[1] = ( WORD )( uRowB + i );\r
387         pwFace[2] = ( WORD )( uRowA );\r
388         pwFace += 3;\r
389 \r
390         pwFace[0] = ( WORD )( uRowA );\r
391         pwFace[1] = ( WORD )( uRowB + i );\r
392         pwFace[2] = ( WORD )( uRowB );\r
393         pwFace += 3;\r
394     }\r
395 \r
396     // Z- pole (uSlices)\r
397     uRowA = 1 + ( uStacks + 2 ) * uSlices;\r
398     uRowB = uRowA + uSlices;\r
399 \r
400     for( i = 0; i < uSlices - 1; i++ )\r
401     {\r
402         pwFace[0] = ( WORD )( uRowA + i );\r
403         pwFace[1] = ( WORD )( uRowB );\r
404         pwFace[2] = ( WORD )( uRowA + i + 1 );\r
405         pwFace += 3;\r
406     }\r
407 \r
408     pwFace[0] = ( WORD )( uRowA + i );\r
409     pwFace[1] = ( WORD )( uRowB );\r
410     pwFace[2] = ( WORD )( uRowA );\r
411     pwFace += 3;\r
412 }\r
413 \r
414 \r
415 //----------------------------------------------------------------------------\r
416 // DXUTCreateCylinder - create a cylinder mesh\r
417 //----------------------------------------------------------------------------\r
418 HRESULT WINAPI DXUTCreateCylinder( ID3D10Device* pDevice, float fRadius1, float fRadius2, float fLength, UINT uSlices,\r
419                                    UINT uStacks, ID3DX10Mesh** ppMesh )\r
420 {\r
421     HRESULT hr = S_OK;\r
422 \r
423     WORD* pwIndices = NULL;\r
424     VERTEX* pVertices = NULL;\r
425 \r
426     // Set up the defaults\r
427     if( D3DX_DEFAULT_FLOAT == fRadius1 )\r
428         fRadius1 = 1.0f;\r
429     if( D3DX_DEFAULT_FLOAT == fRadius2 )\r
430         fRadius2 = 1.0f;\r
431     if( D3DX_DEFAULT_FLOAT == fLength )\r
432         fLength = 1.0f;\r
433     if( D3DX_DEFAULT == uSlices )\r
434         uSlices = 8;\r
435     if( D3DX_DEFAULT == uStacks )\r
436         uStacks = 8;\r
437 \r
438 \r
439     // Validate parameters\r
440     if( !pDevice )\r
441         return D3DERR_INVALIDCALL;\r
442     if( !ppMesh )\r
443         return D3DERR_INVALIDCALL;\r
444     if( fRadius1 < 0.0f )\r
445         return D3DERR_INVALIDCALL;\r
446     if( fRadius2 < 0.0f )\r
447         return D3DERR_INVALIDCALL;\r
448     if( fLength < 0.0f )\r
449         return D3DERR_INVALIDCALL;\r
450     if( uSlices < 2 )\r
451         return D3DERR_INVALIDCALL;\r
452     if( uStacks < 1 )\r
453         return D3DERR_INVALIDCALL;\r
454     if( uSlices >= CACHE_SIZE )\r
455         uSlices = CACHE_SIZE - 1;\r
456 \r
457     // Create the mesh\r
458     UINT cFaces = ( uStacks + 1 ) * uSlices * 2;\r
459     UINT cVertices = 2 + ( uStacks + 3 ) * uSlices;\r
460 \r
461     // Create enough memory for the vertices and indices\r
462     pVertices = new VERTEX[ cVertices ];\r
463     if( !pVertices )\r
464         return E_OUTOFMEMORY;\r
465     pwIndices = new WORD[ cFaces * 3 ];\r
466     if( !pwIndices )\r
467         return E_OUTOFMEMORY;\r
468 \r
469     // Create a cylinder\r
470     MakeCylinder( pVertices, NULL, pwIndices, fRadius1, fRadius2,\r
471                   fLength, uSlices, uStacks );\r
472 \r
473     // Create a mesh\r
474     hr = CreateShapeMesh( pDevice, ppMesh, pVertices, cVertices, pwIndices, cFaces * 3 );\r
475 \r
476     // Free up the memory\r
477     SAFE_DELETE_ARRAY( pVertices );\r
478     SAFE_DELETE_ARRAY( pwIndices );\r
479 \r
480     return hr;\r
481 }\r
482 \r
483 \r
484 //--------------------------------------------------------------------------------------\r
485 // MakePolygon helper\r
486 //--------------------------------------------------------------------------------------\r
487 static void    MakePolygon( VERTEX* pVertices,\r
488                             WORD* pwIndices,\r
489                             float fLength,\r
490                             UINT uSides )\r
491 {\r
492     // Calculate the radius\r
493     float radius = fLength * 0.5f / sinf( D3DX_PI / ( float )uSides );\r
494     float angle = ( float )( 2.0f * D3DX_PI / ( float )uSides );\r
495 \r
496     // Fill in vertices\r
497     VERTEX* pVertex = pVertices;\r
498 \r
499     pVertex->pos = D3DXVECTOR3( 0.0f, 0.0f, 0.0f );\r
500     pVertex->norm = D3DXVECTOR3( 0.0f, 0.0f, 1.0f );\r
501     pVertex++;\r
502 \r
503     for( UINT j = 0; j < uSides; j++ )\r
504     {\r
505         float s, c;\r
506         sincosf( angle * j, &s, &c );\r
507 \r
508         pVertex->pos = D3DXVECTOR3( c * radius, s * radius, 0.0f );\r
509         pVertex->norm = D3DXVECTOR3( 0.0f, 0.0f, 1.0f );\r
510         pVertex++;\r
511     }\r
512 \r
513     // Fill in indices\r
514     WORD* pwFace = pwIndices;\r
515 \r
516     UINT iFace;\r
517     for( iFace = 0; iFace < uSides - 1; iFace++ )\r
518     {\r
519         pwFace[0] = 0;\r
520         pwFace[1] = ( WORD )iFace + 1;\r
521         pwFace[2] = ( WORD )iFace + 2;\r
522 \r
523         pwFace += 3;\r
524     }\r
525 \r
526     // handle the wrapping of the last case\r
527     pwFace[0] = 0;\r
528     pwFace[1] = ( WORD )iFace + 1;\r
529     pwFace[2] = 1;\r
530 }\r
531 \r
532 \r
533 //----------------------------------------------------------------------------\r
534 // DXUTCreatePolygon - create a polygon mesh\r
535 //----------------------------------------------------------------------------\r
536 HRESULT WINAPI DXUTCreatePolygon( ID3D10Device* pDevice, float fLength, UINT uSides, ID3DX10Mesh** ppMesh )\r
537 {\r
538     HRESULT hr = S_OK;\r
539     WORD* pwIndices = NULL;\r
540     VERTEX* pVertices = NULL;\r
541 \r
542     // Set up the defaults\r
543     if( D3DX_DEFAULT == uSides )\r
544         uSides = 3;\r
545     if( D3DX_DEFAULT_FLOAT == fLength )\r
546         fLength = 1.0f;\r
547 \r
548 \r
549     // Validate parameters\r
550     if( !pDevice )\r
551         return D3DERR_INVALIDCALL;\r
552     if( !ppMesh )\r
553         return D3DERR_INVALIDCALL;\r
554     if( fLength < 0.0f )\r
555         return D3DERR_INVALIDCALL;\r
556     if( uSides < 3 )\r
557         return D3DERR_INVALIDCALL;\r
558 \r
559     // Create the mesh\r
560     UINT cFaces = uSides;\r
561     UINT cVertices = uSides + 1;\r
562 \r
563     // Create enough memory for the vertices and indices\r
564     pVertices = new VERTEX[ cVertices ];\r
565     if( !pVertices )\r
566         return E_OUTOFMEMORY;\r
567     pwIndices = new WORD[ cFaces * 3 ];\r
568     if( !pwIndices )\r
569         return E_OUTOFMEMORY;\r
570 \r
571     // Create a polygon\r
572     MakePolygon( pVertices, pwIndices, fLength, uSides );\r
573 \r
574     // Create a mesh\r
575     hr = CreateShapeMesh( pDevice, ppMesh, pVertices, cVertices, pwIndices, cFaces * 3 );\r
576 \r
577     // Free up the memory\r
578     SAFE_DELETE_ARRAY( pVertices );\r
579     SAFE_DELETE_ARRAY( pwIndices );\r
580 \r
581     return hr;\r
582 }\r
583 \r
584 \r
585 //---------------------------------------------------------------------\r
586 // MakeSphere helper\r
587 //---------------------------------------------------------------------\r
588 static void    MakeSphere(\r
589 VERTEX* pVertices,\r
590 WORD* pwIndices,\r
591 float fRadius,\r
592 UINT uSlices,\r
593 UINT uStacks )\r
594 {\r
595     UINT i, j;\r
596 \r
597 \r
598     // Sin/Cos caches\r
599     float sinI[CACHE_SIZE], cosI[CACHE_SIZE];\r
600     float sinJ[CACHE_SIZE], cosJ[CACHE_SIZE];\r
601 \r
602     for( i = 0; i < uSlices; i++ )\r
603         sincosf( 2.0f * D3DX_PI * i / uSlices, sinI + i, cosI + i );\r
604 \r
605     for( j = 0; j < uStacks; j++ )\r
606         sincosf( D3DX_PI * j / uStacks, sinJ + j, cosJ + j );\r
607 \r
608 \r
609 \r
610     // Generate vertices\r
611     VERTEX* pVertex = pVertices;\r
612 \r
613     // +Z pole\r
614     pVertex->pos = D3DXVECTOR3( 0.0f, 0.0f, fRadius );\r
615     pVertex->norm = D3DXVECTOR3( 0.0f, 0.0f, 1.0f );\r
616     pVertex++;\r
617 \r
618     // Stacks\r
619     for( j = 1; j < uStacks; j++ )\r
620     {\r
621         for( i = 0; i < uSlices; i++ )\r
622         {\r
623             D3DXVECTOR3 norm( sinI[i]* sinJ[j], cosI[i]* sinJ[j], cosJ[j] );\r
624 \r
625             pVertex->pos = norm * fRadius;\r
626             pVertex->norm = norm;\r
627 \r
628             pVertex++;\r
629         }\r
630     }\r
631 \r
632     // Z- pole\r
633     pVertex->pos = D3DXVECTOR3( 0.0f, 0.0f, -fRadius );\r
634     pVertex->norm = D3DXVECTOR3( 0.0f, 0.0f, -1.0f );\r
635     pVertex++;\r
636 \r
637 \r
638 \r
639     // Generate indices\r
640     WORD* pwFace = pwIndices;\r
641     UINT uRowA, uRowB;\r
642 \r
643     // Z+ pole\r
644     uRowA = 0;\r
645     uRowB = 1;\r
646 \r
647     for( i = 0; i < uSlices - 1; i++ )\r
648     {\r
649         pwFace[0] = ( WORD )( uRowA );\r
650         pwFace[1] = ( WORD )( uRowB + i + 1 );\r
651         pwFace[2] = ( WORD )( uRowB + i );\r
652         pwFace += 3;\r
653     }\r
654 \r
655     pwFace[0] = ( WORD )( uRowA );\r
656     pwFace[1] = ( WORD )( uRowB );\r
657     pwFace[2] = ( WORD )( uRowB + i );\r
658     pwFace += 3;\r
659 \r
660     // Interior stacks\r
661     for( j = 1; j < uStacks - 1; j++ )\r
662     {\r
663         uRowA = 1 + ( j - 1 ) * uSlices;\r
664         uRowB = uRowA + uSlices;\r
665 \r
666         for( i = 0; i < uSlices - 1; i++ )\r
667         {\r
668             pwFace[0] = ( WORD )( uRowA + i );\r
669             pwFace[1] = ( WORD )( uRowA + i + 1 );\r
670             pwFace[2] = ( WORD )( uRowB + i );\r
671             pwFace += 3;\r
672 \r
673             pwFace[0] = ( WORD )( uRowA + i + 1 );\r
674             pwFace[1] = ( WORD )( uRowB + i + 1 );\r
675             pwFace[2] = ( WORD )( uRowB + i );\r
676             pwFace += 3;\r
677         }\r
678 \r
679         pwFace[0] = ( WORD )( uRowA + i );\r
680         pwFace[1] = ( WORD )( uRowA );\r
681         pwFace[2] = ( WORD )( uRowB + i );\r
682         pwFace += 3;\r
683 \r
684         pwFace[0] = ( WORD )( uRowA );\r
685         pwFace[1] = ( WORD )( uRowB );\r
686         pwFace[2] = ( WORD )( uRowB + i );\r
687         pwFace += 3;\r
688     }\r
689 \r
690     // Z- pole\r
691     uRowA = 1 + ( uStacks - 2 ) * uSlices;\r
692     uRowB = uRowA + uSlices;\r
693 \r
694     for( i = 0; i < uSlices - 1; i++ )\r
695     {\r
696         pwFace[0] = ( WORD )( uRowA + i );\r
697         pwFace[1] = ( WORD )( uRowA + i + 1 );\r
698         pwFace[2] = ( WORD )( uRowB );\r
699         pwFace += 3;\r
700     }\r
701 \r
702     pwFace[0] = ( WORD )( uRowA + i );\r
703     pwFace[1] = ( WORD )( uRowA );\r
704     pwFace[2] = ( WORD )( uRowB );\r
705     pwFace += 3;\r
706 }\r
707 \r
708 \r
709 //----------------------------------------------------------------------------\r
710 // DXUTCreateSphere - create a sphere mesh\r
711 //----------------------------------------------------------------------------\r
712 HRESULT WINAPI DXUTCreateSphere( ID3D10Device* pDevice, float fRadius, UINT uSlices, UINT uStacks,\r
713                                  ID3DX10Mesh** ppMesh )\r
714 {\r
715     HRESULT hr = S_OK;\r
716 \r
717     WORD* pwIndices = NULL;\r
718     VERTEX* pVertices = NULL;\r
719 \r
720     // Set up the defaults\r
721     if( D3DX_DEFAULT_FLOAT == fRadius )\r
722         fRadius = 1.0f;\r
723     if( D3DX_DEFAULT == uSlices )\r
724         uSlices = 8;\r
725     if( D3DX_DEFAULT == uStacks )\r
726         uStacks = 8;\r
727 \r
728     // Validate parameters\r
729     if( !pDevice )\r
730         return D3DERR_INVALIDCALL;\r
731     if( !ppMesh )\r
732         return D3DERR_INVALIDCALL;\r
733     if( fRadius < 0.0f )\r
734         return D3DERR_INVALIDCALL;\r
735     if( uSlices < 2 )\r
736         return D3DERR_INVALIDCALL;\r
737     if( uStacks < 2 )\r
738         return D3DERR_INVALIDCALL;\r
739 \r
740     if( uSlices > CACHE_SIZE )\r
741         uSlices = CACHE_SIZE;\r
742     if( uStacks > CACHE_SIZE )\r
743         uStacks = CACHE_SIZE;\r
744 \r
745     // Create the mesh\r
746     UINT cFaces = 2 * ( uStacks - 1 ) * uSlices;\r
747     UINT cVertices = ( uStacks - 1 ) * uSlices + 2;\r
748 \r
749     // Create enough memory for the vertices and indices\r
750     pVertices = new VERTEX[ cVertices ];\r
751     if( !pVertices )\r
752         return E_OUTOFMEMORY;\r
753     pwIndices = new WORD[ cFaces * 3 ];\r
754     if( !pwIndices )\r
755         return E_OUTOFMEMORY;\r
756 \r
757     // Create a sphere\r
758     MakeSphere( pVertices, pwIndices, fRadius, uSlices, uStacks );\r
759 \r
760     // Create a mesh\r
761     hr = CreateShapeMesh( pDevice, ppMesh, pVertices, cVertices, pwIndices, cFaces * 3 );\r
762 \r
763     // Free up the memory\r
764     SAFE_DELETE_ARRAY( pVertices );\r
765     SAFE_DELETE_ARRAY( pwIndices );\r
766 \r
767     return hr;\r
768 }\r
769 \r
770 \r
771 //---------------------------------------------------------------------\r
772 // MakeTorus helper\r
773 //---------------------------------------------------------------------\r
774 static void    MakeTorus(\r
775 VERTEX* pVertices,\r
776 WORD* pwIndices,\r
777 float fInnerRadius,\r
778 float fOuterRadius,\r
779 UINT uSides,\r
780 UINT uRings )\r
781 {\r
782     UINT i, j;\r
783 \r
784     //\r
785     // Compute the vertices\r
786     //\r
787 \r
788     VERTEX* pVertex = pVertices;\r
789 \r
790     for( i = 0; i < uRings; i++ )\r
791     {\r
792         float theta = ( float )i * 2.0f * D3DX_PI / ( float )uRings;\r
793         float st, ct;\r
794 \r
795         sincosf( theta, &st, &ct );\r
796 \r
797         for( j = 0; j < uSides; j++ )\r
798         {\r
799             float phi = ( float )j * 2.0f * D3DX_PI / uSides;\r
800             float sp, cp;\r
801 \r
802             sincosf( phi, &sp, &cp );\r
803 \r
804             pVertex->pos.x = ct * ( fOuterRadius + fInnerRadius * cp );\r
805             pVertex->pos.y = -st * ( fOuterRadius + fInnerRadius * cp );\r
806             pVertex->pos.z = sp * fInnerRadius;\r
807 \r
808             pVertex->norm.x = ct * cp;\r
809             pVertex->norm.y = -st * cp;\r
810             pVertex->norm.z = sp;\r
811 \r
812             pVertex++;\r
813         }\r
814     }\r
815 \r
816     //\r
817     // Compute the indices: \r
818     // There are uRings * uSides faces\r
819     // Each face has 2 triangles (6 indices)\r
820     //\r
821 \r
822     // Tube i has indices:  \r
823     //        Left Edge: i*(uSides+1) -- i*(uSides+1)+uSides\r
824     //        Right Edge: (i+1)*(uSides+1) -- (i+1)*(uSides+1)+uSides\r
825     //\r
826     // Face j on tube i has the 4 indices:\r
827     //        Left Edge: i*(uSides+1)+j -- i*(uSides+1)+j+1\r
828     //        Right Edge: (i+1)*(uSides+1)+j -- (i+1)*(uSides+1)+j+1\r
829     //\r
830     WORD* pwFace = pwIndices;\r
831 \r
832     for( i = 0; i < uRings - 1; i++ )\r
833     {\r
834         for( j = 0; j < uSides - 1; j++ )\r
835         {\r
836 \r
837             // Tri 1 (Top-Left tri, CCW)\r
838             pwFace[0] = ( WORD )( i * uSides + j );\r
839             pwFace[1] = ( WORD )( i * uSides + j + 1 );\r
840             pwFace[2] = ( WORD )( ( i + 1 ) * uSides + j );\r
841             pwFace += 3;\r
842 \r
843             // Tri 2 (Bottom-Right tri, CCW)\r
844             pwFace[0] = ( WORD )( ( i + 1 ) * uSides + j );\r
845             pwFace[1] = ( WORD )( i * uSides + j + 1 );\r
846             pwFace[2] = ( WORD )( ( i + 1 ) * uSides + j + 1 );\r
847             pwFace += 3;\r
848         }\r
849 \r
850         // Tri 1 (Top-Left tri, CCW)\r
851         pwFace[0] = ( WORD )( i * uSides + j );\r
852         pwFace[1] = ( WORD )( i * uSides );\r
853         pwFace[2] = ( WORD )( ( i + 1 ) * uSides + j );\r
854         pwFace += 3;\r
855 \r
856         // Tri 2 (Bottom-Right tri, CCW)\r
857         pwFace[0] = ( WORD )( ( i + 1 ) * uSides + j );\r
858         pwFace[1] = ( WORD )( i * uSides + 0 );\r
859         pwFace[2] = ( WORD )( ( i + 1 ) * uSides + 0 );\r
860         pwFace += 3;\r
861     }\r
862 \r
863 \r
864     // join the two ends of the tube\r
865     for( j = 0; j < uSides - 1; j++ )\r
866     {\r
867         // Tri 1 (Top-Left tri, CCW)\r
868         pwFace[0] = ( WORD )( i * uSides + j );\r
869         pwFace[1] = ( WORD )( i * uSides + j + 1 );\r
870         pwFace[2] = ( WORD )( j );\r
871         pwFace += 3;\r
872 \r
873         // Tri 2 (Bottom-Right tri, CCW)\r
874         pwFace[0] = ( WORD )( j );\r
875         pwFace[1] = ( WORD )( i * uSides + j + 1 );\r
876         pwFace[2] = ( WORD )( j + 1 );\r
877         pwFace += 3;\r
878     }\r
879 \r
880     // Tri 1 (Top-Left tri, CCW)\r
881     pwFace[0] = ( WORD )( i * uSides + j );\r
882     pwFace[1] = ( WORD )( i * uSides );\r
883     pwFace[2] = ( WORD )( j );\r
884     pwFace += 3;\r
885 \r
886     // Tri 2 (Bottom-Right tri, CCW)\r
887     pwFace[0] = ( WORD )( j );\r
888     pwFace[1] = ( WORD )( i * uSides );\r
889     pwFace[2] = ( WORD )( 0 );\r
890     pwFace += 3;\r
891 }\r
892 \r
893 \r
894 //----------------------------------------------------------------------------\r
895 // DXUTCreateTorus - create a torus mesh\r
896 //----------------------------------------------------------------------------\r
897 HRESULT WINAPI DXUTCreateTorus( ID3D10Device* pDevice, float fInnerRadius, float fOuterRadius, UINT uSides,\r
898                                 UINT uRings, ID3DX10Mesh** ppMesh )\r
899 {\r
900     HRESULT hr = S_OK;\r
901 \r
902     WORD* pwIndices = NULL;\r
903     VERTEX* pVertices = NULL;\r
904 \r
905 \r
906     // Set up the defaults\r
907     if( D3DX_DEFAULT_FLOAT == fInnerRadius )\r
908         fInnerRadius = 1.0f;\r
909     if( D3DX_DEFAULT_FLOAT == fOuterRadius )\r
910         fOuterRadius = 2.0f;\r
911     if( D3DX_DEFAULT == uSides )\r
912         uSides = 8;\r
913     if( D3DX_DEFAULT == uRings )\r
914         uRings = 15;\r
915 \r
916     // Validate parameters\r
917     if( !pDevice )\r
918         return D3DERR_INVALIDCALL;\r
919     if( !ppMesh )\r
920         return D3DERR_INVALIDCALL;\r
921     if( fInnerRadius < 0.0f )\r
922         return D3DERR_INVALIDCALL;\r
923     if( fOuterRadius < 0.0f )\r
924         return D3DERR_INVALIDCALL;\r
925     if( uSides < 3 )\r
926         return D3DERR_INVALIDCALL;\r
927     if( uRings < 3 )\r
928         return D3DERR_INVALIDCALL;\r
929 \r
930     // Create the mesh\r
931     UINT cFaces = 2 * uSides * uRings;\r
932     UINT cVertices = uRings * uSides;\r
933 \r
934     // Create enough memory for the vertices and indices\r
935     pVertices = new VERTEX[ cVertices ];\r
936     if( !pVertices )\r
937         return E_OUTOFMEMORY;\r
938     pwIndices = new WORD[ cFaces * 3 ];\r
939     if( !pwIndices )\r
940         return E_OUTOFMEMORY;\r
941 \r
942     // Create a torus\r
943     MakeTorus( pVertices, pwIndices, fInnerRadius, fOuterRadius,\r
944                uSides, uRings );\r
945 \r
946     // Create a mesh\r
947     hr = CreateShapeMesh( pDevice, ppMesh, pVertices, cVertices, pwIndices, cFaces * 3 );\r
948 \r
949     // Free up the memory\r
950     SAFE_DELETE_ARRAY( pVertices );\r
951     SAFE_DELETE_ARRAY( pwIndices );\r
952 \r
953     return hr;\r
954 }\r
955 \r
956 \r
957 //----------------------------------------------------------------------------\r
958 // Teapot data\r
959 //----------------------------------------------------------------------------\r
960 #define NUMTEAPOTVERTICES 1178\r
961 #define NUMTEAPOTINDICES 6768\r
962 \r
963 static float teapotPositionsFloats[NUMTEAPOTVERTICES*3] =\r
964 {\r
965     0.678873f, 0.330678f, 0.000000f,\r
966     0.669556f, 0.358022f, 0.000000f,\r
967     0.671003f, 0.374428f, 0.000000f,\r
968     0.680435f, 0.379897f, 0.000000f,\r
969     0.695077f, 0.374428f, 0.000000f,\r
970     0.712148f, 0.358022f, 0.000000f,\r
971     0.728873f, 0.330678f, 0.000000f,\r
972     0.654243f, 0.330678f, 0.187963f,\r
973     0.645254f, 0.358022f, 0.185461f,\r
974     0.646650f, 0.374428f, 0.185850f,\r
975     0.655751f, 0.379897f, 0.188383f,\r
976     0.669877f, 0.374428f, 0.192314f,\r
977     0.686348f, 0.358022f, 0.196898f,\r
978     0.702484f, 0.330678f, 0.201389f,\r
979     0.584502f, 0.330678f, 0.355704f,\r
980     0.576441f, 0.358022f, 0.350969f,\r
981     0.577693f, 0.374428f, 0.351704f,\r
982     0.585854f, 0.379897f, 0.356498f,\r
983     0.598522f, 0.374428f, 0.363938f,\r
984     0.613292f, 0.358022f, 0.372613f,\r
985     0.627762f, 0.330678f, 0.381111f,\r
986     0.475873f, 0.330678f, 0.497000f,\r
987     0.469258f, 0.358022f, 0.490385f,\r
988     0.470285f, 0.374428f, 0.491412f,\r
989     0.476982f, 0.379897f, 0.498109f,\r
990     0.487377f, 0.374428f, 0.508505f,\r
991     0.499498f, 0.358022f, 0.520626f,\r
992     0.511373f, 0.330678f, 0.532500f,\r
993     0.334576f, 0.330678f, 0.605630f,\r
994     0.329842f, 0.358022f, 0.597569f,\r
995     0.330577f, 0.374428f, 0.598820f,\r
996     0.335370f, 0.379897f, 0.606982f,\r
997     0.342810f, 0.374428f, 0.619649f,\r
998     0.351485f, 0.358022f, 0.634419f,\r
999     0.359984f, 0.330678f, 0.648889f,\r
1000     0.166836f, 0.330678f, 0.675370f,\r
1001     0.164334f, 0.358022f, 0.666381f,\r
1002     0.164722f, 0.374428f, 0.667777f,\r
1003     0.167255f, 0.379897f, 0.676878f,\r
1004     0.171187f, 0.374428f, 0.691004f,\r
1005     0.175771f, 0.358022f, 0.707475f,\r
1006     0.180262f, 0.330678f, 0.723611f,\r
1007     -0.021127f, 0.330678f, 0.700000f,\r
1008     -0.021127f, 0.358022f, 0.690683f,\r
1009     -0.021127f, 0.374428f, 0.692130f,\r
1010     -0.021127f, 0.379897f, 0.701563f,\r
1011     -0.021127f, 0.374428f, 0.716204f,\r
1012     -0.021127f, 0.358022f, 0.733276f,\r
1013     -0.021127f, 0.330678f, 0.750000f,\r
1014     -0.224715f, 0.330678f, 0.675370f,\r
1015     -0.215631f, 0.358022f, 0.666381f,\r
1016     -0.211606f, 0.374428f, 0.667777f,\r
1017     -0.211463f, 0.379897f, 0.676878f,\r
1018     -0.214020f, 0.374428f, 0.691004f,\r
1019     -0.218098f, 0.358022f, 0.707475f,\r
1020     -0.222516f, 0.330678f, 0.723611f,\r
1021     -0.396831f, 0.330678f, 0.605630f,\r
1022     -0.383671f, 0.358022f, 0.597569f,\r
1023     -0.378758f, 0.374428f, 0.598820f,\r
1024     -0.380125f, 0.379897f, 0.606982f,\r
1025     -0.385806f, 0.374428f, 0.619649f,\r
1026     -0.393832f, 0.358022f, 0.634419f,\r
1027     -0.402238f, 0.330678f, 0.648889f,\r
1028     -0.535002f, 0.330678f, 0.497000f,\r
1029     -0.521278f, 0.358022f, 0.490385f,\r
1030     -0.517539f, 0.374428f, 0.491412f,\r
1031     -0.521346f, 0.379897f, 0.498109f,\r
1032     -0.530257f, 0.374428f, 0.508505f,\r
1033     -0.541831f, 0.358022f, 0.520626f,\r
1034     -0.553627f, 0.330678f, 0.532500f,\r
1035     -0.636757f, 0.330678f, 0.355704f,\r
1036     -0.624483f, 0.358022f, 0.350969f,\r
1037     -0.622910f, 0.374428f, 0.351704f,\r
1038     -0.629359f, 0.379897f, 0.356498f,\r
1039     -0.641146f, 0.374428f, 0.363938f,\r
1040     -0.655593f, 0.358022f, 0.372613f,\r
1041     -0.670016f, 0.330678f, 0.381111f,\r
1042     -0.699623f, 0.330678f, 0.187963f,\r
1043     -0.689317f, 0.358022f, 0.185461f,\r
1044     -0.689830f, 0.374428f, 0.185850f,\r
1045     -0.698396f, 0.379897f, 0.188382f,\r
1046     -0.712247f, 0.374428f, 0.192314f,\r
1047     -0.728617f, 0.358022f, 0.196898f,\r
1048     -0.744738f, 0.330678f, 0.201389f,\r
1049     -0.721127f, 0.330678f, 0.000000f,\r
1050     -0.711810f, 0.358022f, 0.000000f,\r
1051     -0.713257f, 0.374428f, 0.000000f,\r
1052     -0.722690f, 0.379897f, 0.000000f,\r
1053     -0.737331f, 0.374428f, 0.000000f,\r
1054     -0.754403f, 0.358022f, 0.000000f,\r
1055     -0.771127f, 0.330678f, 0.000000f,\r
1056     -0.696498f, 0.330678f, -0.187963f,\r
1057     -0.687508f, 0.358022f, -0.185461f,\r
1058     -0.688904f, 0.374428f, -0.185850f,\r
1059     -0.698005f, 0.379897f, -0.188383f,\r
1060     -0.712131f, 0.374428f, -0.192314f,\r
1061     -0.728602f, 0.358022f, -0.196898f,\r
1062     -0.744738f, 0.330678f, -0.201389f,\r
1063     -0.626757f, 0.330678f, -0.355704f,\r
1064     -0.618696f, 0.358022f, -0.350969f,\r
1065     -0.619948f, 0.374428f, -0.351704f,\r
1066     -0.628109f, 0.379897f, -0.356498f,\r
1067     -0.640776f, 0.374428f, -0.363938f,\r
1068     -0.655546f, 0.358022f, -0.372613f,\r
1069     -0.670016f, 0.330678f, -0.381111f,\r
1070     -0.518127f, 0.330678f, -0.497000f,\r
1071     -0.511512f, 0.358022f, -0.490385f,\r
1072     -0.512539f, 0.374428f, -0.491412f,\r
1073     -0.519237f, 0.379897f, -0.498109f,\r
1074     -0.529632f, 0.374428f, -0.508505f,\r
1075     -0.541753f, 0.358022f, -0.520626f,\r
1076     -0.553627f, 0.330678f, -0.532500f,\r
1077     -0.376831f, 0.330678f, -0.605630f,\r
1078     -0.372096f, 0.358022f, -0.597569f,\r
1079     -0.372832f, 0.374428f, -0.598820f,\r
1080     -0.377625f, 0.379897f, -0.606982f,\r
1081     -0.385065f, 0.374428f, -0.619649f,\r
1082     -0.393740f, 0.358022f, -0.634419f,\r
1083     -0.402238f, 0.330678f, -0.648889f,\r
1084     -0.209090f, 0.330678f, -0.675370f,\r
1085     -0.206588f, 0.358022f, -0.666381f,\r
1086     -0.206977f, 0.374428f, -0.667777f,\r
1087     -0.209510f, 0.379897f, -0.676878f,\r
1088     -0.213441f, 0.374428f, -0.691004f,\r
1089     -0.218025f, 0.358022f, -0.707475f,\r
1090     -0.222516f, 0.330678f, -0.723611f,\r
1091     -0.021127f, 0.330678f, -0.700000f,\r
1092     -0.021127f, 0.358022f, -0.690683f,\r
1093     -0.021127f, 0.374428f, -0.692130f,\r
1094     -0.021127f, 0.379897f, -0.701563f,\r
1095     -0.021127f, 0.374428f, -0.716204f,\r
1096     -0.021127f, 0.358022f, -0.733276f,\r
1097     -0.021127f, 0.330678f, -0.750000f,\r
1098     0.166836f, 0.330678f, -0.675370f,\r
1099     0.164334f, 0.358022f, -0.666381f,\r
1100     0.164722f, 0.374428f, -0.667777f,\r
1101     0.167255f, 0.379897f, -0.676878f,\r
1102     0.171187f, 0.374428f, -0.691004f,\r
1103     0.175771f, 0.358022f, -0.707475f,\r
1104     0.180262f, 0.330678f, -0.723611f,\r
1105     0.334576f, 0.330678f, -0.605630f,\r
1106     0.329842f, 0.358022f, -0.597569f,\r
1107     0.330577f, 0.374428f, -0.598820f,\r
1108     0.335370f, 0.379897f, -0.606982f,\r
1109     0.342810f, 0.374428f, -0.619649f,\r
1110     0.351485f, 0.358022f, -0.634419f,\r
1111     0.359984f, 0.330678f, -0.648889f,\r
1112     0.475873f, 0.330678f, -0.497000f,\r
1113     0.469258f, 0.358022f, -0.490385f,\r
1114     0.470285f, 0.374428f, -0.491412f,\r
1115     0.476982f, 0.379897f, -0.498109f,\r
1116     0.487377f, 0.374428f, -0.508505f,\r
1117     0.499498f, 0.358022f, -0.520626f,\r
1118     0.511373f, 0.330678f, -0.532500f,\r
1119     0.584502f, 0.330678f, -0.355704f,\r
1120     0.576441f, 0.358022f, -0.350969f,\r
1121     0.577693f, 0.374428f, -0.351704f,\r
1122     0.585854f, 0.379897f, -0.356498f,\r
1123     0.598522f, 0.374428f, -0.363938f,\r
1124     0.613292f, 0.358022f, -0.372613f,\r
1125     0.627762f, 0.330678f, -0.381111f,\r
1126     0.654243f, 0.330678f, -0.187963f,\r
1127     0.645254f, 0.358022f, -0.185461f,\r
1128     0.646650f, 0.374428f, -0.185850f,\r
1129     0.655751f, 0.379897f, -0.188382f,\r
1130     0.669877f, 0.374428f, -0.192314f,\r
1131     0.686348f, 0.358022f, -0.196898f,\r
1132     0.702484f, 0.330678f, -0.201389f,\r
1133     0.790794f, 0.199602f, 0.000000f,\r
1134     0.849243f, 0.069567f, 0.000000f,\r
1135     0.900748f, -0.058384f, 0.000000f,\r
1136     0.941836f, -0.183211f, 0.000000f,\r
1137     0.969035f, -0.303870f, 0.000000f,\r
1138     0.978873f, -0.419322f, 0.000000f,\r
1139     0.762227f, 0.199602f, 0.218016f,\r
1140     0.818619f, 0.069567f, 0.233711f,\r
1141     0.868312f, -0.058384f, 0.247541f,\r
1142     0.907954f, -0.183211f, 0.258573f,\r
1143     0.934196f, -0.303870f, 0.265877f,\r
1144     0.943688f, -0.419322f, 0.268519f,\r
1145     0.681335f, 0.199602f, 0.412576f,\r
1146     0.731904f, 0.069567f, 0.442277f,\r
1147     0.776465f, -0.058384f, 0.468449f,\r
1148     0.812014f, -0.183211f, 0.489328f,\r
1149     0.835546f, -0.303870f, 0.503149f,\r
1150     0.844058f, -0.419322f, 0.508148f,\r
1151     0.555337f, 0.199602f, 0.576464f,\r
1152     0.596836f, 0.069567f, 0.617963f,\r
1153     0.633404f, -0.058384f, 0.654531f,\r
1154     0.662577f, -0.183211f, 0.683704f,\r
1155     0.681888f, -0.303870f, 0.703015f,\r
1156     0.688873f, -0.419322f, 0.710000f,\r
1157     0.391449f, 0.199602f, 0.702462f,\r
1158     0.421150f, 0.069567f, 0.753032f,\r
1159     0.447322f, -0.058384f, 0.797593f,\r
1160     0.468201f, -0.183211f, 0.833141f,\r
1161     0.482022f, -0.303870f, 0.856674f,\r
1162     0.487021f, -0.419322f, 0.865185f,\r
1163     0.196889f, 0.199602f, 0.783354f,\r
1164     0.212583f, 0.069567f, 0.839746f,\r
1165     0.226413f, -0.058384f, 0.889439f,\r
1166     0.237446f, -0.183211f, 0.929081f,\r
1167     0.244750f, -0.303870f, 0.955323f,\r
1168     0.247391f, -0.419322f, 0.964815f,\r
1169     -0.021127f, 0.199602f, 0.811921f,\r
1170     -0.021127f, 0.069567f, 0.870370f,\r
1171     -0.021127f, -0.058384f, 0.921875f,\r
1172     -0.021127f, -0.183211f, 0.962963f,\r
1173     -0.021127f, -0.303870f, 0.990162f,\r
1174     -0.021127f, -0.419322f, 1.000000f,\r
1175     -0.239143f, 0.199602f, 0.783354f,\r
1176     -0.254838f, 0.069567f, 0.839746f,\r
1177     -0.268668f, -0.058384f, 0.889439f,\r
1178     -0.279701f, -0.183211f, 0.929081f,\r
1179     -0.287004f, -0.303870f, 0.955323f,\r
1180     -0.289646f, -0.419322f, 0.964815f,\r
1181     -0.433704f, 0.199602f, 0.702462f,\r
1182     -0.463404f, 0.069567f, 0.753032f,\r
1183     -0.489576f, -0.058384f, 0.797593f,\r
1184     -0.510455f, -0.183211f, 0.833141f,\r
1185     -0.524276f, -0.303870f, 0.856674f,\r
1186     -0.529275f, -0.419322f, 0.865185f,\r
1187     -0.597591f, 0.199602f, 0.576464f,\r
1188     -0.639090f, 0.069567f, 0.617963f,\r
1189     -0.675658f, -0.058384f, 0.654531f,\r
1190     -0.704831f, -0.183211f, 0.683704f,\r
1191     -0.724142f, -0.303870f, 0.703015f,\r
1192     -0.731127f, -0.419322f, 0.710000f,\r
1193     -0.723589f, 0.199602f, 0.412576f,\r
1194     -0.774159f, 0.069567f, 0.442277f,\r
1195     -0.818720f, -0.058384f, 0.468449f,\r
1196     -0.854269f, -0.183211f, 0.489328f,\r
1197     -0.877801f, -0.303870f, 0.503149f,\r
1198     -0.886312f, -0.419322f, 0.508148f,\r
1199     -0.804481f, 0.199602f, 0.218016f,\r
1200     -0.860873f, 0.069567f, 0.233711f,\r
1201     -0.910566f, -0.058384f, 0.247540f,\r
1202     -0.950208f, -0.183211f, 0.258573f,\r
1203     -0.976450f, -0.303870f, 0.265877f,\r
1204     -0.985942f, -0.419322f, 0.268518f,\r
1205     -0.833049f, 0.199602f, 0.000000f,\r
1206     -0.891498f, 0.069567f, 0.000000f,\r
1207     -0.943002f, -0.058384f, 0.000000f,\r
1208     -0.984090f, -0.183211f, 0.000000f,\r
1209     -1.011289f, -0.303870f, 0.000000f,\r
1210     -1.021127f, -0.419322f, 0.000000f,\r
1211     -0.804481f, 0.199602f, -0.218016f,\r
1212     -0.860873f, 0.069567f, -0.233711f,\r
1213     -0.910566f, -0.058384f, -0.247541f,\r
1214     -0.950208f, -0.183211f, -0.258573f,\r
1215     -0.976450f, -0.303870f, -0.265877f,\r
1216     -0.985942f, -0.419322f, -0.268519f,\r
1217     -0.723589f, 0.199602f, -0.412576f,\r
1218     -0.774159f, 0.069567f, -0.442277f,\r
1219     -0.818720f, -0.058384f, -0.468449f,\r
1220     -0.854269f, -0.183211f, -0.489328f,\r
1221     -0.877801f, -0.303870f, -0.503149f,\r
1222     -0.886312f, -0.419322f, -0.508148f,\r
1223     -0.597591f, 0.199602f, -0.576464f,\r
1224     -0.639090f, 0.069567f, -0.617963f,\r
1225     -0.675658f, -0.058384f, -0.654531f,\r
1226     -0.704831f, -0.183211f, -0.683704f,\r
1227     -0.724142f, -0.303870f, -0.703015f,\r
1228     -0.731127f, -0.419322f, -0.710000f,\r
1229     -0.433704f, 0.199602f, -0.702462f,\r
1230     -0.463404f, 0.069567f, -0.753032f,\r
1231     -0.489576f, -0.058384f, -0.797593f,\r
1232     -0.510455f, -0.183211f, -0.833141f,\r
1233     -0.524276f, -0.303870f, -0.856674f,\r
1234     -0.529275f, -0.419322f, -0.865185f,\r
1235     -0.239143f, 0.199602f, -0.783354f,\r
1236     -0.254838f, 0.069567f, -0.839746f,\r
1237     -0.268668f, -0.058384f, -0.889439f,\r
1238     -0.279701f, -0.183211f, -0.929081f,\r
1239     -0.287004f, -0.303870f, -0.955323f,\r
1240     -0.289646f, -0.419322f, -0.964815f,\r
1241     -0.021127f, 0.199602f, -0.811921f,\r
1242     -0.021127f, 0.069567f, -0.870370f,\r
1243     -0.021127f, -0.058384f, -0.921875f,\r
1244     -0.021127f, -0.183211f, -0.962963f,\r
1245     -0.021127f, -0.303870f, -0.990162f,\r
1246     -0.021127f, -0.419322f, -1.000000f,\r
1247     0.196889f, 0.199602f, -0.783354f,\r
1248     0.212583f, 0.069567f, -0.839746f,\r
1249     0.226413f, -0.058384f, -0.889439f,\r
1250     0.237446f, -0.183211f, -0.929081f,\r
1251     0.244750f, -0.303870f, -0.955323f,\r
1252     0.247391f, -0.419322f, -0.964815f,\r
1253     0.391449f, 0.199602f, -0.702462f,\r
1254     0.421150f, 0.069567f, -0.753032f,\r
1255     0.447322f, -0.058384f, -0.797593f,\r
1256     0.468201f, -0.183211f, -0.833141f,\r
1257     0.482022f, -0.303870f, -0.856674f,\r
1258     0.487021f, -0.419322f, -0.865185f,\r
1259     0.555337f, 0.199602f, -0.576464f,\r
1260     0.596836f, 0.069567f, -0.617963f,\r
1261     0.633404f, -0.058384f, -0.654531f,\r
1262     0.662577f, -0.183211f, -0.683704f,\r
1263     0.681888f, -0.303870f, -0.703015f,\r
1264     0.688873f, -0.419322f, -0.710000f,\r
1265     0.681335f, 0.199602f, -0.412576f,\r
1266     0.731904f, 0.069567f, -0.442277f,\r
1267     0.776465f, -0.058384f, -0.468449f,\r
1268     0.812014f, -0.183211f, -0.489328f,\r
1269     0.835546f, -0.303870f, -0.503149f,\r
1270     0.844058f, -0.419322f, -0.508148f,\r
1271     0.762227f, 0.199602f, -0.218016f,\r
1272     0.818619f, 0.069567f, -0.233711f,\r
1273     0.868312f, -0.058384f, -0.247540f,\r
1274     0.907954f, -0.183211f, -0.258573f,\r
1275     0.934196f, -0.303870f, -0.265877f,\r
1276     0.943688f, -0.419322f, -0.268518f,\r
1277     0.960354f, -0.522620f, 0.000000f,\r
1278     0.914058f, -0.608211f, 0.000000f,\r
1279     0.853873f, -0.677134f, 0.000000f,\r
1280     0.793688f, -0.730433f, 0.000000f,\r
1281     0.747391f, -0.769148f, 0.000000f,\r
1282     0.728873f, -0.794322f, 0.000000f,\r
1283     0.925821f, -0.522620f, 0.263546f,\r
1284     0.881153f, -0.608211f, 0.251115f,\r
1285     0.823086f, -0.677134f, 0.234954f,\r
1286     0.765018f, -0.730433f, 0.218793f,\r
1287     0.720351f, -0.769148f, 0.206361f,\r
1288     0.702484f, -0.794322f, 0.201389f,\r
1289     0.828036f, -0.522620f, 0.498738f,\r
1290     0.787981f, -0.608211f, 0.475213f,\r
1291     0.735910f, -0.677134f, 0.444630f,\r
1292     0.683839f, -0.730433f, 0.414047f,\r
1293     0.643784f, -0.769148f, 0.390521f,\r
1294     0.627762f, -0.794322f, 0.381111f,\r
1295     0.675725f, -0.522620f, 0.696852f,\r
1296     0.642854f, -0.608211f, 0.663981f,\r
1297     0.600123f, -0.677134f, 0.621250f,\r
1298     0.557391f, -0.730433f, 0.578519f,\r
1299     0.524521f, -0.769148f, 0.545648f,\r
1300     0.511373f, -0.794322f, 0.532500f,\r
1301     0.477611f, -0.522620f, 0.849163f,\r
1302     0.454085f, -0.608211f, 0.809108f,\r
1303     0.423502f, -0.677134f, 0.757037f,\r
1304     0.392919f, -0.730433f, 0.704966f,\r
1305     0.369394f, -0.769148f, 0.664911f,\r
1306     0.359984f, -0.794322f, 0.648889f,\r
1307     0.242419f, -0.522620f, 0.946948f,\r
1308     0.229987f, -0.608211f, 0.902281f,\r
1309     0.213826f, -0.677134f, 0.844213f,\r
1310     0.197666f, -0.730433f, 0.786145f,\r
1311     0.185234f, -0.769148f, 0.741478f,\r
1312     0.180262f, -0.794322f, 0.723611f,\r
1313     -0.021127f, -0.522620f, 0.981482f,\r
1314     -0.021127f, -0.608211f, 0.935185f,\r
1315     -0.021127f, -0.677134f, 0.875000f,\r
1316     -0.021127f, -0.730433f, 0.814815f,\r
1317     -0.021127f, -0.769148f, 0.768519f,\r
1318     -0.021127f, -0.794322f, 0.750000f,\r
1319     -0.284673f, -0.522620f, 0.946948f,\r
1320     -0.272242f, -0.608211f, 0.902281f,\r
1321     -0.256081f, -0.677134f, 0.844213f,\r
1322     -0.239920f, -0.730433f, 0.786145f,\r
1323     -0.227489f, -0.769148f, 0.741478f,\r
1324     -0.222516f, -0.794322f, 0.723611f,\r
1325     -0.519865f, -0.522620f, 0.849163f,\r
1326     -0.496340f, -0.608211f, 0.809108f,\r
1327     -0.465757f, -0.677134f, 0.757037f,\r
1328     -0.435174f, -0.730433f, 0.704966f,\r
1329     -0.411649f, -0.769148f, 0.664911f,\r
1330     -0.402238f, -0.794322f, 0.648889f,\r
1331     -0.717979f, -0.522620f, 0.696852f,\r
1332     -0.685109f, -0.608211f, 0.663981f,\r
1333     -0.642377f, -0.677134f, 0.621250f,\r
1334     -0.599646f, -0.730433f, 0.578519f,\r
1335     -0.566775f, -0.769148f, 0.545648f,\r
1336     -0.553627f, -0.794322f, 0.532500f,\r
1337     -0.870290f, -0.522620f, 0.498738f,\r
1338     -0.830236f, -0.608211f, 0.475213f,\r
1339     -0.778164f, -0.677134f, 0.444630f,\r
1340     -0.726093f, -0.730433f, 0.414047f,\r
1341     -0.686038f, -0.769148f, 0.390521f,\r
1342     -0.670016f, -0.794322f, 0.381111f,\r
1343     -0.968075f, -0.522620f, 0.263546f,\r
1344     -0.923408f, -0.608211f, 0.251115f,\r
1345     -0.865340f, -0.677134f, 0.234954f,\r
1346     -0.807273f, -0.730433f, 0.218793f,\r
1347     -0.762605f, -0.769148f, 0.206361f,\r
1348     -0.744738f, -0.794322f, 0.201389f,\r
1349     -1.002609f, -0.522620f, 0.000000f,\r
1350     -0.956312f, -0.608211f, 0.000000f,\r
1351     -0.896127f, -0.677134f, 0.000000f,\r
1352     -0.835942f, -0.730433f, 0.000000f,\r
1353     -0.789646f, -0.769148f, 0.000000f,\r
1354     -0.771127f, -0.794322f, 0.000000f,\r
1355     -0.968075f, -0.522620f, -0.263546f,\r
1356     -0.923408f, -0.608211f, -0.251115f,\r
1357     -0.865340f, -0.677134f, -0.234954f,\r
1358     -0.807273f, -0.730433f, -0.218793f,\r
1359     -0.762605f, -0.769148f, -0.206361f,\r
1360     -0.744738f, -0.794322f, -0.201389f,\r
1361     -0.870290f, -0.522620f, -0.498738f,\r
1362     -0.830236f, -0.608211f, -0.475213f,\r
1363     -0.778164f, -0.677134f, -0.444630f,\r
1364     -0.726093f, -0.730433f, -0.414047f,\r
1365     -0.686038f, -0.769148f, -0.390521f,\r
1366     -0.670016f, -0.794322f, -0.381111f,\r
1367     -0.717979f, -0.522620f, -0.696852f,\r
1368     -0.685109f, -0.608211f, -0.663981f,\r
1369     -0.642377f, -0.677134f, -0.621250f,\r
1370     -0.599646f, -0.730433f, -0.578519f,\r
1371     -0.566775f, -0.769148f, -0.545648f,\r
1372     -0.553627f, -0.794322f, -0.532500f,\r
1373     -0.519865f, -0.522620f, -0.849163f,\r
1374     -0.496340f, -0.608211f, -0.809108f,\r
1375     -0.465757f, -0.677134f, -0.757037f,\r
1376     -0.435174f, -0.730433f, -0.704966f,\r
1377     -0.411648f, -0.769148f, -0.664911f,\r
1378     -0.402238f, -0.794322f, -0.648889f,\r
1379     -0.284673f, -0.522620f, -0.946948f,\r
1380     -0.272242f, -0.608211f, -0.902281f,\r
1381     -0.256081f, -0.677134f, -0.844213f,\r
1382     -0.239920f, -0.730433f, -0.786145f,\r
1383     -0.227489f, -0.769148f, -0.741478f,\r
1384     -0.222516f, -0.794322f, -0.723611f,\r
1385     -0.021127f, -0.522620f, -0.981482f,\r
1386     -0.021127f, -0.608211f, -0.935185f,\r
1387     -0.021127f, -0.677134f, -0.875000f,\r
1388     -0.021127f, -0.730433f, -0.814815f,\r
1389     -0.021127f, -0.769148f, -0.768519f,\r
1390     -0.021127f, -0.794322f, -0.750000f,\r
1391     0.242419f, -0.522620f, -0.946948f,\r
1392     0.229987f, -0.608211f, -0.902281f,\r
1393     0.213827f, -0.677134f, -0.844213f,\r
1394     0.197666f, -0.730433f, -0.786145f,\r
1395     0.185234f, -0.769148f, -0.741478f,\r
1396     0.180262f, -0.794322f, -0.723611f,\r
1397     0.477611f, -0.522620f, -0.849163f,\r
1398     0.454085f, -0.608211f, -0.809108f,\r
1399     0.423502f, -0.677134f, -0.757037f,\r
1400     0.392919f, -0.730433f, -0.704966f,\r
1401     0.369394f, -0.769148f, -0.664911f,\r
1402     0.359984f, -0.794322f, -0.648889f,\r
1403     0.675725f, -0.522620f, -0.696852f,\r
1404     0.642854f, -0.608211f, -0.663981f,\r
1405     0.600123f, -0.677134f, -0.621250f,\r
1406     0.557391f, -0.730433f, -0.578519f,\r
1407     0.524521f, -0.769148f, -0.545648f,\r
1408     0.511373f, -0.794322f, -0.532500f,\r
1409     0.828036f, -0.522620f, -0.498738f,\r
1410     0.787981f, -0.608211f, -0.475213f,\r
1411     0.735910f, -0.677134f, -0.444630f,\r
1412     0.683839f, -0.730433f, -0.414047f,\r
1413     0.643784f, -0.769148f, -0.390521f,\r
1414     0.627762f, -0.794322f, -0.381111f,\r
1415     0.925821f, -0.522620f, -0.263546f,\r
1416     0.881153f, -0.608211f, -0.251115f,\r
1417     0.823086f, -0.677134f, -0.234954f,\r
1418     0.765018f, -0.730433f, -0.218793f,\r
1419     0.720351f, -0.769148f, -0.206361f,\r
1420     0.702484f, -0.794322f, -0.201389f,\r
1421     0.722796f, -0.812898f, 0.000000f,\r
1422     0.692762f, -0.830433f, 0.000000f,\r
1423     0.621060f, -0.845884f, 0.000000f,\r
1424     0.489984f, -0.858211f, 0.000000f,\r
1425     0.281824f, -0.866370f, 0.000000f,\r
1426     -0.021127f, -0.869322f, 0.000000f,\r
1427     0.696621f, -0.812898f, 0.199757f,\r
1428     0.667643f, -0.830433f, 0.191692f,\r
1429     0.598465f, -0.845884f, 0.172439f,\r
1430     0.472000f, -0.858211f, 0.137243f,\r
1431     0.271165f, -0.866370f, 0.081348f,\r
1432     0.622505f, -0.812898f, 0.378023f,\r
1433     0.596519f, -0.830433f, 0.362761f,\r
1434     0.534484f, -0.845884f, 0.326326f,\r
1435     0.421079f, -0.858211f, 0.259720f,\r
1436     0.240982f, -0.866370f, 0.153944f,\r
1437     0.507059f, -0.812898f, 0.528186f,\r
1438     0.485734f, -0.830433f, 0.506861f,\r
1439     0.434826f, -0.845884f, 0.455953f,\r
1440     0.341762f, -0.858211f, 0.362889f,\r
1441     0.193968f, -0.866370f, 0.215095f,\r
1442     0.356896f, -0.812898f, 0.643632f,\r
1443     0.341634f, -0.830433f, 0.617646f,\r
1444     0.305199f, -0.845884f, 0.555611f,\r
1445     0.238593f, -0.858211f, 0.442206f,\r
1446     0.132817f, -0.866370f, 0.262109f,\r
1447     0.178630f, -0.812898f, 0.717749f,\r
1448     0.170565f, -0.830433f, 0.688771f,\r
1449     0.151312f, -0.845884f, 0.619592f,\r
1450     0.116116f, -0.858211f, 0.493128f,\r
1451     0.060221f, -0.866370f, 0.292292f,\r
1452     -0.021127f, -0.812898f, 0.743924f,\r
1453     -0.021127f, -0.830433f, 0.713889f,\r
1454     -0.021127f, -0.845884f, 0.642188f,\r
1455     -0.021127f, -0.858211f, 0.511111f,\r
1456     -0.021127f, -0.866370f, 0.302951f,\r
1457     -0.220884f, -0.812898f, 0.717749f,\r
1458     -0.212820f, -0.830433f, 0.688771f,\r
1459     -0.193566f, -0.845884f, 0.619592f,\r
1460     -0.158370f, -0.858211f, 0.493128f,\r
1461     -0.102475f, -0.866370f, 0.292292f,\r
1462     -0.399151f, -0.812898f, 0.643632f,\r
1463     -0.383889f, -0.830433f, 0.617646f,\r
1464     -0.347454f, -0.845884f, 0.555611f,\r
1465     -0.280847f, -0.858211f, 0.442206f,\r
1466     -0.175071f, -0.866370f, 0.262109f,\r
1467     -0.549313f, -0.812898f, 0.528186f,\r
1468     -0.527988f, -0.830433f, 0.506861f,\r
1469     -0.477080f, -0.845884f, 0.455953f,\r
1470     -0.384016f, -0.858211f, 0.362889f,\r
1471     -0.236223f, -0.866370f, 0.215095f,\r
1472     -0.664759f, -0.812898f, 0.378023f,\r
1473     -0.638773f, -0.830433f, 0.362761f,\r
1474     -0.576738f, -0.845884f, 0.326326f,\r
1475     -0.463333f, -0.858211f, 0.259720f,\r
1476     -0.283236f, -0.866370f, 0.153944f,\r
1477     -0.738876f, -0.812898f, 0.199757f,\r
1478     -0.709898f, -0.830433f, 0.191692f,\r
1479     -0.640719f, -0.845884f, 0.172439f,\r
1480     -0.514255f, -0.858211f, 0.137243f,\r
1481     -0.313419f, -0.866370f, 0.081348f,\r
1482     -0.765051f, -0.812898f, 0.000000f,\r
1483     -0.735016f, -0.830433f, 0.000000f,\r
1484     -0.663315f, -0.845884f, 0.000000f,\r
1485     -0.532238f, -0.858211f, 0.000000f,\r
1486     -0.324079f, -0.866370f, 0.000000f,\r
1487     -0.738876f, -0.812898f, -0.199757f,\r
1488     -0.709898f, -0.830433f, -0.191692f,\r
1489     -0.640719f, -0.845884f, -0.172439f,\r
1490     -0.514255f, -0.858211f, -0.137243f,\r
1491     -0.313419f, -0.866370f, -0.081348f,\r
1492     -0.664759f, -0.812898f, -0.378023f,\r
1493     -0.638773f, -0.830433f, -0.362761f,\r
1494     -0.576738f, -0.845884f, -0.326326f,\r
1495     -0.463333f, -0.858211f, -0.259720f,\r
1496     -0.283236f, -0.866370f, -0.153944f,\r
1497     -0.549313f, -0.812898f, -0.528186f,\r
1498     -0.527988f, -0.830433f, -0.506861f,\r
1499     -0.477080f, -0.845884f, -0.455953f,\r
1500     -0.384016f, -0.858211f, -0.362889f,\r
1501     -0.236223f, -0.866370f, -0.215095f,\r
1502     -0.399151f, -0.812898f, -0.643632f,\r
1503     -0.383889f, -0.830433f, -0.617646f,\r
1504     -0.347454f, -0.845884f, -0.555611f,\r
1505     -0.280847f, -0.858211f, -0.442206f,\r
1506     -0.175071f, -0.866370f, -0.262109f,\r
1507     -0.220884f, -0.812898f, -0.717749f,\r
1508     -0.212820f, -0.830433f, -0.688771f,\r
1509     -0.193566f, -0.845884f, -0.619592f,\r
1510     -0.158370f, -0.858211f, -0.493128f,\r
1511     -0.102475f, -0.866370f, -0.292292f,\r
1512     -0.021127f, -0.812898f, -0.743924f,\r
1513     -0.021127f, -0.830433f, -0.713889f,\r
1514     -0.021127f, -0.845884f, -0.642188f,\r
1515     -0.021127f, -0.858211f, -0.511111f,\r
1516     -0.021127f, -0.866370f, -0.302951f,\r
1517     0.178630f, -0.812898f, -0.717749f,\r
1518     0.170565f, -0.830433f, -0.688771f,\r
1519     0.151312f, -0.845884f, -0.619592f,\r
1520     0.116116f, -0.858211f, -0.493128f,\r
1521     0.060221f, -0.866370f, -0.292292f,\r
1522     0.356896f, -0.812898f, -0.643632f,\r
1523     0.341634f, -0.830433f, -0.617646f,\r
1524     0.305199f, -0.845884f, -0.555611f,\r
1525     0.238593f, -0.858211f, -0.442206f,\r
1526     0.132817f, -0.866370f, -0.262109f,\r
1527     0.507059f, -0.812898f, -0.528186f,\r
1528     0.485734f, -0.830433f, -0.506861f,\r
1529     0.434826f, -0.845884f, -0.455953f,\r
1530     0.341762f, -0.858211f, -0.362889f,\r
1531     0.193968f, -0.866370f, -0.215095f,\r
1532     0.622505f, -0.812898f, -0.378023f,\r
1533     0.596519f, -0.830433f, -0.362761f,\r
1534     0.534484f, -0.845884f, -0.326326f,\r
1535     0.421079f, -0.858211f, -0.259720f,\r
1536     0.240982f, -0.866370f, -0.153944f,\r
1537     0.696621f, -0.812898f, -0.199757f,\r
1538     0.667643f, -0.830433f, -0.191692f,\r
1539     0.598465f, -0.845884f, -0.172439f,\r
1540     0.472000f, -0.858211f, -0.137243f,\r
1541     0.271165f, -0.866370f, -0.081348f,\r
1542     -0.821127f, 0.143178f, 0.000000f,\r
1543     -0.983396f, 0.142657f, 0.000000f,\r
1544     -1.119275f, 0.139012f, 0.000000f,\r
1545     -1.227377f, 0.129116f, 0.000000f,\r
1546     -1.306313f, 0.109845f, 0.000000f,\r
1547     -1.354692f, 0.078074f, 0.000000f,\r
1548     -1.371127f, 0.030678f, 0.000000f,\r
1549     -0.817424f, 0.151512f, 0.062500f,\r
1550     -0.984648f, 0.150952f, 0.062500f,\r
1551     -1.124351f, 0.147036f, 0.062500f,\r
1552     -1.235248f, 0.136407f, 0.062500f,\r
1553     -1.316052f, 0.115709f, 0.062500f,\r
1554     -1.365477f, 0.081585f, 0.062500f,\r
1555     -1.382239f, 0.030678f, 0.062500f,\r
1556     -0.808164f, 0.172345f, 0.100000f,\r
1557     -0.987777f, 0.171689f, 0.100000f,\r
1558     -1.137040f, 0.167098f, 0.100000f,\r
1559     -1.254924f, 0.154637f, 0.100000f,\r
1560     -1.340400f, 0.130370f, 0.100000f,\r
1561     -1.392441f, 0.090362f, 0.100000f,\r
1562     -1.410016f, 0.030678f, 0.100000f,\r
1563     -0.796127f, 0.199428f, 0.112500f,\r
1564     -0.991845f, 0.198647f, 0.112500f,\r
1565     -1.153535f, 0.193178f, 0.112500f,\r
1566     -1.280502f, 0.178335f, 0.112500f,\r
1567     -1.372053f, 0.149428f, 0.112500f,\r
1568     -1.427493f, 0.101772f, 0.112500f,\r
1569     -1.446127f, 0.030678f, 0.112500f,\r
1570     -0.784090f, 0.226511f, 0.100000f,\r
1571     -0.995913f, 0.225605f, 0.100000f,\r
1572     -1.170030f, 0.219258f, 0.100000f,\r
1573     -1.306081f, 0.202032f, 0.100000f,\r
1574     -1.403706f, 0.168487f, 0.100000f,\r
1575     -1.462545f, 0.113182f, 0.100000f,\r
1576     -1.482238f, 0.030678f, 0.100000f,\r
1577     -0.774831f, 0.247345f, 0.062500f,\r
1578     -0.999042f, 0.246342f, 0.062500f,\r
1579     -1.182719f, 0.239320f, 0.062500f,\r
1580     -1.325757f, 0.220261f, 0.062500f,\r
1581     -1.428054f, 0.183147f, 0.062500f,\r
1582     -1.489509f, 0.121959f, 0.062500f,\r
1583     -1.510016f, 0.030678f, 0.062500f,\r
1584     -0.771127f, 0.255678f, 0.000000f,\r
1585     -1.000294f, 0.254636f, 0.000000f,\r
1586     -1.187794f, 0.247345f, 0.000000f,\r
1587     -1.333627f, 0.227553f, 0.000000f,\r
1588     -1.437794f, 0.189011f, 0.000000f,\r
1589     -1.500294f, 0.125470f, 0.000000f,\r
1590     -1.521127f, 0.030678f, 0.000000f,\r
1591     -0.774831f, 0.247345f, -0.062500f,\r
1592     -0.999042f, 0.246342f, -0.062500f,\r
1593     -1.182719f, 0.239320f, -0.062500f,\r
1594     -1.325757f, 0.220261f, -0.062500f,\r
1595     -1.428054f, 0.183147f, -0.062500f,\r
1596     -1.489509f, 0.121959f, -0.062500f,\r
1597     -1.510016f, 0.030678f, -0.062500f,\r
1598     -0.784090f, 0.226511f, -0.100000f,\r
1599     -0.995913f, 0.225605f, -0.100000f,\r
1600     -1.170030f, 0.219258f, -0.100000f,\r
1601     -1.306081f, 0.202032f, -0.100000f,\r
1602     -1.403706f, 0.168487f, -0.100000f,\r
1603     -1.462545f, 0.113182f, -0.100000f,\r
1604     -1.482238f, 0.030678f, -0.100000f,\r
1605     -0.796127f, 0.199428f, -0.112500f,\r
1606     -0.991845f, 0.198647f, -0.112500f,\r
1607     -1.153535f, 0.193178f, -0.112500f,\r
1608     -1.280502f, 0.178335f, -0.112500f,\r
1609     -1.372053f, 0.149428f, -0.112500f,\r
1610     -1.427493f, 0.101772f, -0.112500f,\r
1611     -1.446127f, 0.030678f, -0.112500f,\r
1612     -0.808164f, 0.172345f, -0.100000f,\r
1613     -0.987777f, 0.171689f, -0.100000f,\r
1614     -1.137040f, 0.167098f, -0.100000f,\r
1615     -1.254924f, 0.154637f, -0.100000f,\r
1616     -1.340400f, 0.130370f, -0.100000f,\r
1617     -1.392441f, 0.090362f, -0.100000f,\r
1618     -1.410016f, 0.030678f, -0.100000f,\r
1619     -0.817424f, 0.151512f, -0.062500f,\r
1620     -0.984648f, 0.150952f, -0.062500f,\r
1621     -1.124351f, 0.147036f, -0.062500f,\r
1622     -1.235248f, 0.136407f, -0.062500f,\r
1623     -1.316052f, 0.115709f, -0.062500f,\r
1624     -1.365477f, 0.081585f, -0.062500f,\r
1625     -1.382239f, 0.030678f, -0.062500f,\r
1626     -1.362563f, -0.033905f, 0.000000f,\r
1627     -1.335942f, -0.110988f, 0.000000f,\r
1628     -1.289877f, -0.194322f, 0.000000f,\r
1629     -1.222979f, -0.277655f, 0.000000f,\r
1630     -1.133859f, -0.354739f, 0.000000f,\r
1631     -1.021127f, -0.419322f, 0.000000f,\r
1632     -1.373219f, -0.037332f, 0.062500f,\r
1633     -1.345270f, -0.116647f, 0.062500f,\r
1634     -1.297053f, -0.201440f, 0.062500f,\r
1635     -1.227232f, -0.285886f, 0.062500f,\r
1636     -1.134467f, -0.364159f, 0.062500f,\r
1637     -1.017424f, -0.430433f, 0.062500f,\r
1638     -1.399861f, -0.045900f, 0.100000f,\r
1639     -1.368590f, -0.130793f, 0.100000f,\r
1640     -1.314993f, -0.219235f, 0.100000f,\r
1641     -1.237862f, -0.306462f, 0.100000f,\r
1642     -1.135989f, -0.387709f, 0.100000f,\r
1643     -1.008164f, -0.458211f, 0.100000f,\r
1644     -1.434495f, -0.057039f, 0.112500f,\r
1645     -1.398905f, -0.149183f, 0.112500f,\r
1646     -1.338315f, -0.242369f, 0.112500f,\r
1647     -1.251683f, -0.333211f, 0.112500f,\r
1648     -1.137967f, -0.418324f, 0.112500f,\r
1649     -0.996127f, -0.494322f, 0.112500f,\r
1650     -1.469130f, -0.068177f, 0.100000f,\r
1651     -1.429221f, -0.167573f, 0.100000f,\r
1652     -1.361637f, -0.265502f, 0.100000f,\r
1653     -1.265503f, -0.359960f, 0.100000f,\r
1654     -1.139946f, -0.448939f, 0.100000f,\r
1655     -0.984090f, -0.530433f, 0.100000f,\r
1656     -1.495772f, -0.076745f, 0.062500f,\r
1657     -1.452540f, -0.181719f, 0.062500f,\r
1658     -1.379576f, -0.283298f, 0.062500f,\r
1659     -1.276134f, -0.380536f, 0.062500f,\r
1660     -1.141468f, -0.472489f, 0.062500f,\r
1661     -0.974831f, -0.558211f, 0.062500f,\r
1662     -1.506428f, -0.080173f, 0.000000f,\r
1663     -1.461868f, -0.187377f, 0.000000f,\r
1664     -1.386752f, -0.290416f, 0.000000f,\r
1665     -1.280387f, -0.388766f, 0.000000f,\r
1666     -1.142076f, -0.481909f, 0.000000f,\r
1667     -0.971127f, -0.569322f, 0.000000f,\r
1668     -1.495772f, -0.076745f, -0.062500f,\r
1669     -1.452540f, -0.181719f, -0.062500f,\r
1670     -1.379576f, -0.283298f, -0.062500f,\r
1671     -1.276134f, -0.380536f, -0.062500f,\r
1672     -1.141468f, -0.472489f, -0.062500f,\r
1673     -0.974831f, -0.558211f, -0.062500f,\r
1674     -1.469130f, -0.068177f, -0.100000f,\r
1675     -1.429221f, -0.167573f, -0.100000f,\r
1676     -1.361637f, -0.265502f, -0.100000f,\r
1677     -1.265503f, -0.359960f, -0.100000f,\r
1678     -1.139946f, -0.448939f, -0.100000f,\r
1679     -0.984090f, -0.530433f, -0.100000f,\r
1680     -1.434495f, -0.057039f, -0.112500f,\r
1681     -1.398905f, -0.149183f, -0.112500f,\r
1682     -1.338315f, -0.242369f, -0.112500f,\r
1683     -1.251683f, -0.333211f, -0.112500f,\r
1684     -1.137967f, -0.418324f, -0.112500f,\r
1685     -0.996127f, -0.494322f, -0.112500f,\r
1686     -1.399861f, -0.045900f, -0.100000f,\r
1687     -1.368590f, -0.130793f, -0.100000f,\r
1688     -1.314993f, -0.219235f, -0.100000f,\r
1689     -1.237862f, -0.306462f, -0.100000f,\r
1690     -1.135989f, -0.387709f, -0.100000f,\r
1691     -1.008164f, -0.458211f, -0.100000f,\r
1692     -1.373219f, -0.037332f, -0.062500f,\r
1693     -1.345270f, -0.116647f, -0.062500f,\r
1694     -1.297053f, -0.201440f, -0.062500f,\r
1695     -1.227232f, -0.285886f, -0.062500f,\r
1696     -1.134467f, -0.364159f, -0.062500f,\r
1697     -1.017424f, -0.430433f, -0.062500f,\r
1698     0.828873f, -0.156822f, 0.000000f,\r
1699     1.008271f, -0.131127f, 0.000000f,\r
1700     1.114058f, -0.063766f, 0.000000f,\r
1701     1.172623f, 0.030678f, 0.000000f,\r
1702     1.210354f, 0.137623f, 0.000000f,\r
1703     1.253641f, 0.242484f, 0.000000f,\r
1704     1.328873f, 0.330678f, 0.000000f,\r
1705     0.828873f, -0.187377f, 0.137500f,\r
1706     1.015061f, -0.156719f, 0.131173f,\r
1707     1.123935f, -0.083314f, 0.115355f,\r
1708     1.183734f, 0.017484f, 0.094792f,\r
1709     1.222700f, 0.130318f, 0.074228f,\r
1710     1.269073f, 0.239835f, 0.058411f,\r
1711     1.351095f, 0.330678f, 0.052083f,\r
1712     0.828873f, -0.263766f, 0.220000f,\r
1713     1.032036f, -0.220698f, 0.209877f,\r
1714     1.148626f, -0.132182f, 0.184568f,\r
1715     1.211512f, -0.015502f, 0.151667f,\r
1716     1.253564f, 0.112057f, 0.118765f,\r
1717     1.307654f, 0.233212f, 0.093457f,\r
1718     1.406651f, 0.330678f, 0.083333f,\r
1719     0.828873f, -0.363072f, 0.247500f,\r
1720     1.054104f, -0.303870f, 0.236111f,\r
1721     1.180725f, -0.195711f, 0.207639f,\r
1722     1.247623f, -0.058384f, 0.170625f,\r
1723     1.293688f, 0.088317f, 0.133611f,\r
1724     1.357808f, 0.224602f, 0.105139f,\r
1725     1.478873f, 0.330678f, 0.093750f,\r
1726     0.828873f, -0.462377f, 0.220000f,\r
1727     1.076172f, -0.387043f, 0.209877f,\r
1728     1.212823f, -0.259240f, 0.184568f,\r
1729     1.283734f, -0.101266f, 0.151667f,\r
1730     1.333811f, 0.064577f, 0.118765f,\r
1731     1.407962f, 0.215992f, 0.093457f,\r
1732     1.551095f, 0.330678f, 0.083333f,\r
1733     0.828873f, -0.538766f, 0.137500f,\r
1734     1.093148f, -0.451022f, 0.131173f,\r
1735     1.237515f, -0.308108f, 0.115355f,\r
1736     1.311512f, -0.134252f, 0.094792f,\r
1737     1.364675f, 0.046316f, 0.074228f,\r
1738     1.446543f, 0.209369f, 0.058410f,\r
1739     1.606651f, 0.330678f, 0.052083f,\r
1740     0.828873f, -0.569322f, 0.000000f,\r
1741     1.099938f, -0.476614f, 0.000000f,\r
1742     1.247391f, -0.327655f, 0.000000f,\r
1743     1.322623f, -0.147447f, 0.000000f,\r
1744     1.377021f, 0.039012f, 0.000000f,\r
1745     1.461975f, 0.206720f, 0.000000f,\r
1746     1.628873f, 0.330678f, 0.000000f,\r
1747     0.828873f, -0.538766f, -0.137500f,\r
1748     1.093148f, -0.451022f, -0.131173f,\r
1749     1.237515f, -0.308108f, -0.115355f,\r
1750     1.311512f, -0.134252f, -0.094792f,\r
1751     1.364675f, 0.046316f, -0.074228f,\r
1752     1.446543f, 0.209369f, -0.058410f,\r
1753     1.606651f, 0.330678f, -0.052083f,\r
1754     0.828873f, -0.462377f, -0.220000f,\r
1755     1.076172f, -0.387043f, -0.209877f,\r
1756     1.212823f, -0.259240f, -0.184568f,\r
1757     1.283734f, -0.101266f, -0.151667f,\r
1758     1.333811f, 0.064577f, -0.118765f,\r
1759     1.407962f, 0.215992f, -0.093457f,\r
1760     1.551095f, 0.330678f, -0.083333f,\r
1761     0.828873f, -0.363072f, -0.247500f,\r
1762     1.054104f, -0.303870f, -0.236111f,\r
1763     1.180725f, -0.195711f, -0.207639f,\r
1764     1.247623f, -0.058384f, -0.170625f,\r
1765     1.293688f, 0.088317f, -0.133611f,\r
1766     1.357808f, 0.224602f, -0.105139f,\r
1767     1.478873f, 0.330678f, -0.093750f,\r
1768     0.828873f, -0.263766f, -0.220000f,\r
1769     1.032036f, -0.220698f, -0.209877f,\r
1770     1.148626f, -0.132182f, -0.184568f,\r
1771     1.211512f, -0.015502f, -0.151667f,\r
1772     1.253564f, 0.112057f, -0.118765f,\r
1773     1.307654f, 0.233212f, -0.093457f,\r
1774     1.406651f, 0.330678f, -0.083333f,\r
1775     0.828873f, -0.187377f, -0.137500f,\r
1776     1.015061f, -0.156719f, -0.131173f,\r
1777     1.123935f, -0.083314f, -0.115355f,\r
1778     1.183734f, 0.017484f, -0.094792f,\r
1779     1.222700f, 0.130318f, -0.074228f,\r
1780     1.269073f, 0.239835f, -0.058410f,\r
1781     1.351095f, 0.330678f, -0.052083f,\r
1782     1.353410f, 0.346303f, 0.000000f,\r
1783     1.375169f, 0.355678f, 0.000000f,\r
1784     1.391373f, 0.358803f, 0.000000f,\r
1785     1.399243f, 0.355678f, 0.000000f,\r
1786     1.396003f, 0.346303f, 0.000000f,\r
1787     1.378873f, 0.330678f, 0.000000f,\r
1788     1.377077f, 0.346641f, 0.050540f,\r
1789     1.398763f, 0.356295f, 0.046682f,\r
1790     1.413711f, 0.359584f, 0.041667f,\r
1791     1.419477f, 0.356450f, 0.036651f,\r
1792     1.413617f, 0.346834f, 0.032793f,\r
1793     1.393688f, 0.330678f, 0.031250f,\r
1794     1.436244f, 0.347485f, 0.080864f,\r
1795     1.457748f, 0.357839f, 0.074691f,\r
1796     1.469556f, 0.361538f, 0.066667f,\r
1797     1.470060f, 0.358379f, 0.058642f,\r
1798     1.457652f, 0.348160f, 0.052469f,\r
1799     1.430725f, 0.330678f, 0.050000f,\r
1800     1.513161f, 0.348582f, 0.090972f,\r
1801     1.534428f, 0.359845f, 0.084028f,\r
1802     1.542154f, 0.364077f, 0.075000f,\r
1803     1.535817f, 0.360886f, 0.065972f,\r
1804     1.514897f, 0.349884f, 0.059028f,\r
1805     1.478873f, 0.330678f, 0.056250f,\r
1806     1.590078f, 0.349679f, 0.080864f,\r
1807     1.611109f, 0.361851f, 0.074691f,\r
1808     1.614753f, 0.366616f, 0.066667f,\r
1809     1.601575f, 0.363394f, 0.058642f,\r
1810     1.572143f, 0.351608f, 0.052469f,\r
1811     1.527021f, 0.330678f, 0.050000f,\r
1812     1.649245f, 0.350523f, 0.050540f,\r
1813     1.670094f, 0.363394f, 0.046682f,\r
1814     1.670597f, 0.368569f, 0.041667f,\r
1815     1.652158f, 0.365323f, 0.036651f,\r
1816     1.616178f, 0.352934f, 0.032793f,\r
1817     1.564058f, 0.330678f, 0.031250f,\r
1818     1.672912f, 0.350860f, 0.000000f,\r
1819     1.693688f, 0.364011f, 0.000000f,\r
1820     1.692935f, 0.369350f, 0.000000f,\r
1821     1.672391f, 0.366095f, 0.000000f,\r
1822     1.633792f, 0.353465f, 0.000000f,\r
1823     1.578873f, 0.330678f, 0.000000f,\r
1824     1.649245f, 0.350523f, -0.050540f,\r
1825     1.670094f, 0.363394f, -0.046682f,\r
1826     1.670597f, 0.368569f, -0.041667f,\r
1827     1.652158f, 0.365323f, -0.036651f,\r
1828     1.616178f, 0.352934f, -0.032793f,\r
1829     1.564058f, 0.330678f, -0.031250f,\r
1830     1.590078f, 0.349679f, -0.080864f,\r
1831     1.611109f, 0.361851f, -0.074691f,\r
1832     1.614753f, 0.366616f, -0.066667f,\r
1833     1.601575f, 0.363394f, -0.058642f,\r
1834     1.572143f, 0.351608f, -0.052469f,\r
1835     1.527021f, 0.330678f, -0.050000f,\r
1836     1.513161f, 0.348582f, -0.090972f,\r
1837     1.534428f, 0.359845f, -0.084028f,\r
1838     1.542154f, 0.364077f, -0.075000f,\r
1839     1.535817f, 0.360886f, -0.065972f,\r
1840     1.514897f, 0.349884f, -0.059028f,\r
1841     1.478873f, 0.330678f, -0.056250f,\r
1842     1.436244f, 0.347485f, -0.080864f,\r
1843     1.457748f, 0.357839f, -0.074691f,\r
1844     1.469556f, 0.361538f, -0.066667f,\r
1845     1.470060f, 0.358379f, -0.058642f,\r
1846     1.457652f, 0.348160f, -0.052469f,\r
1847     1.430725f, 0.330678f, -0.050000f,\r
1848     1.377077f, 0.346641f, -0.050540f,\r
1849     1.398763f, 0.356295f, -0.046682f,\r
1850     1.413711f, 0.359584f, -0.041667f,\r
1851     1.419477f, 0.356450f, -0.036651f,\r
1852     1.413617f, 0.346834f, -0.032793f,\r
1853     1.393688f, 0.330678f, -0.031250f,\r
1854     -0.021127f, 0.705678f, 0.000000f,\r
1855     0.118225f, 0.694220f, 0.000000f,\r
1856     0.160354f, 0.664011f, 0.000000f,\r
1857     0.141373f, 0.621303f, 0.000000f,\r
1858     0.097391f, 0.572345f, 0.000000f,\r
1859     0.064521f, 0.523386f, 0.000000f,\r
1860     0.078873f, 0.480678f, 0.000000f,\r
1861     0.113346f, 0.694220f, 0.037539f,\r
1862     0.154000f, 0.664011f, 0.048885f,\r
1863     0.135681f, 0.621303f, 0.043764f,\r
1864     0.093237f, 0.572345f, 0.031902f,\r
1865     0.061512f, 0.523386f, 0.023022f,\r
1866     0.075354f, 0.480678f, 0.026852f,\r
1867     0.099515f, 0.694220f, 0.070966f,\r
1868     0.135987f, 0.664011f, 0.092417f,\r
1869     0.119549f, 0.621303f, 0.082741f,\r
1870     0.081463f, 0.572345f, 0.060324f,\r
1871     0.052990f, 0.523386f, 0.043553f,\r
1872     0.065391f, 0.480678f, 0.050815f,\r
1873     0.077943f, 0.694220f, 0.099070f,\r
1874     0.107891f, 0.664011f, 0.129019f,\r
1875     0.094388f, 0.621303f, 0.115516f,\r
1876     0.063104f, 0.572345f, 0.084231f,\r
1877     0.039709f, 0.523386f, 0.060836f,\r
1878     0.049873f, 0.480678f, 0.071000f,\r
1879     0.049838f, 0.694220f, 0.120642f,\r
1880     0.071290f, 0.664011f, 0.157114f,\r
1881     0.061614f, 0.621303f, 0.140676f,\r
1882     0.039197f, 0.572345f, 0.102590f,\r
1883     0.022426f, 0.523386f, 0.074117f,\r
1884     0.029688f, 0.480678f, 0.086519f,\r
1885     0.016412f, 0.694220f, 0.134473f,\r
1886     0.027758f, 0.664011f, 0.175127f,\r
1887     0.022637f, 0.621303f, 0.156808f,\r
1888     0.010774f, 0.572345f, 0.114364f,\r
1889     0.001895f, 0.523386f, 0.082639f,\r
1890     0.005725f, 0.480678f, 0.096482f,\r
1891     -0.021127f, 0.694220f, 0.139352f,\r
1892     -0.021127f, 0.664011f, 0.181482f,\r
1893     -0.021127f, 0.621303f, 0.162500f,\r
1894     -0.021127f, 0.572345f, 0.118519f,\r
1895     -0.021127f, 0.523386f, 0.085648f,\r
1896     -0.021127f, 0.480678f, 0.100000f,\r
1897     -0.058666f, 0.694220f, 0.134473f,\r
1898     -0.070013f, 0.664011f, 0.175127f,\r
1899     -0.064892f, 0.621303f, 0.156808f,\r
1900     -0.053029f, 0.572345f, 0.114364f,\r
1901     -0.044149f, 0.523386f, 0.082639f,\r
1902     -0.047979f, 0.480678f, 0.096481f,\r
1903     -0.092093f, 0.694220f, 0.120642f,\r
1904     -0.113544f, 0.664011f, 0.157114f,\r
1905     -0.103868f, 0.621303f, 0.140676f,\r
1906     -0.081451f, 0.572345f, 0.102590f,\r
1907     -0.064680f, 0.523386f, 0.074117f,\r
1908     -0.071942f, 0.480678f, 0.086519f,\r
1909     -0.120197f, 0.694220f, 0.099070f,\r
1910     -0.150146f, 0.664011f, 0.129019f,\r
1911     -0.136643f, 0.621303f, 0.115516f,\r
1912     -0.105359f, 0.572345f, 0.084231f,\r
1913     -0.081963f, 0.523386f, 0.060836f,\r
1914     -0.092127f, 0.480678f, 0.071000f,\r
1915     -0.141770f, 0.694220f, 0.070966f,\r
1916     -0.178241f, 0.664011f, 0.092417f,\r
1917     -0.161803f, 0.621303f, 0.082741f,\r
1918     -0.123717f, 0.572345f, 0.060324f,\r
1919     -0.095244f, 0.523386f, 0.043553f,\r
1920     -0.107646f, 0.480678f, 0.050815f,\r
1921     -0.155600f, 0.694220f, 0.037539f,\r
1922     -0.196254f, 0.664011f, 0.048885f,\r
1923     -0.177936f, 0.621303f, 0.043764f,\r
1924     -0.135491f, 0.572345f, 0.031902f,\r
1925     -0.103767f, 0.523386f, 0.023022f,\r
1926     -0.117609f, 0.480678f, 0.026852f,\r
1927     -0.160479f, 0.694220f, 0.000000f,\r
1928     -0.202609f, 0.664011f, 0.000000f,\r
1929     -0.183627f, 0.621303f, 0.000000f,\r
1930     -0.139646f, 0.572345f, 0.000000f,\r
1931     -0.106775f, 0.523386f, 0.000000f,\r
1932     -0.121127f, 0.480678f, 0.000000f,\r
1933     -0.155600f, 0.694220f, -0.037539f,\r
1934     -0.196254f, 0.664011f, -0.048885f,\r
1935     -0.177936f, 0.621303f, -0.043764f,\r
1936     -0.135491f, 0.572345f, -0.031902f,\r
1937     -0.103767f, 0.523386f, -0.023022f,\r
1938     -0.117609f, 0.480678f, -0.026852f,\r
1939     -0.141770f, 0.694220f, -0.070966f,\r
1940     -0.178241f, 0.664011f, -0.092417f,\r
1941     -0.161803f, 0.621303f, -0.082741f,\r
1942     -0.123717f, 0.572345f, -0.060324f,\r
1943     -0.095244f, 0.523386f, -0.043553f,\r
1944     -0.107646f, 0.480678f, -0.050815f,\r
1945     -0.120197f, 0.694220f, -0.099070f,\r
1946     -0.150146f, 0.664011f, -0.129019f,\r
1947     -0.136643f, 0.621303f, -0.115516f,\r
1948     -0.105359f, 0.572345f, -0.084231f,\r
1949     -0.081963f, 0.523386f, -0.060836f,\r
1950     -0.092127f, 0.480678f, -0.071000f,\r
1951     -0.092093f, 0.694220f, -0.120642f,\r
1952     -0.113544f, 0.664011f, -0.157114f,\r
1953     -0.103868f, 0.621303f, -0.140676f,\r
1954     -0.081451f, 0.572345f, -0.102590f,\r
1955     -0.064680f, 0.523386f, -0.074117f,\r
1956     -0.071942f, 0.480678f, -0.086519f,\r
1957     -0.058666f, 0.694220f, -0.134473f,\r
1958     -0.070013f, 0.664011f, -0.175127f,\r
1959     -0.064892f, 0.621303f, -0.156808f,\r
1960     -0.053029f, 0.572345f, -0.114364f,\r
1961     -0.044149f, 0.523386f, -0.082639f,\r
1962     -0.047979f, 0.480678f, -0.096482f,\r
1963     -0.021127f, 0.694220f, -0.139352f,\r
1964     -0.021127f, 0.664011f, -0.181482f,\r
1965     -0.021127f, 0.621303f, -0.162500f,\r
1966     -0.021127f, 0.572345f, -0.118519f,\r
1967     -0.021127f, 0.523386f, -0.085648f,\r
1968     -0.021127f, 0.480678f, -0.100000f,\r
1969     0.016412f, 0.694220f, -0.134473f,\r
1970     0.027758f, 0.664011f, -0.175127f,\r
1971     0.022637f, 0.621303f, -0.156808f,\r
1972     0.010774f, 0.572345f, -0.114364f,\r
1973     0.001895f, 0.523386f, -0.082639f,\r
1974     0.005725f, 0.480678f, -0.096481f,\r
1975     0.049838f, 0.694220f, -0.120642f,\r
1976     0.071290f, 0.664011f, -0.157114f,\r
1977     0.061614f, 0.621303f, -0.140676f,\r
1978     0.039197f, 0.572345f, -0.102590f,\r
1979     0.022426f, 0.523386f, -0.074117f,\r
1980     0.029688f, 0.480678f, -0.086519f,\r
1981     0.077943f, 0.694220f, -0.099070f,\r
1982     0.107891f, 0.664011f, -0.129019f,\r
1983     0.094388f, 0.621303f, -0.115516f,\r
1984     0.063104f, 0.572345f, -0.084231f,\r
1985     0.039709f, 0.523386f, -0.060836f,\r
1986     0.049873f, 0.480678f, -0.071000f,\r
1987     0.099515f, 0.694220f, -0.070966f,\r
1988     0.135987f, 0.664011f, -0.092417f,\r
1989     0.119549f, 0.621303f, -0.082741f,\r
1990     0.081463f, 0.572345f, -0.060324f,\r
1991     0.052990f, 0.523386f, -0.043553f,\r
1992     0.065391f, 0.480678f, -0.050815f,\r
1993     0.113346f, 0.694220f, -0.037539f,\r
1994     0.154000f, 0.664011f, -0.048885f,\r
1995     0.135681f, 0.621303f, -0.043764f,\r
1996     0.093237f, 0.572345f, -0.031902f,\r
1997     0.061512f, 0.523386f, -0.023022f,\r
1998     0.075354f, 0.480678f, -0.026852f,\r
1999     0.154336f, 0.448734f, 0.000000f,\r
2000     0.265910f, 0.425123f, 0.000000f,\r
2001     0.391373f, 0.405678f, 0.000000f,\r
2002     0.508502f, 0.386234f, 0.000000f,\r
2003     0.595077f, 0.362623f, 0.000000f,\r
2004     0.628873f, 0.330678f, 0.000000f,\r
2005     0.148162f, 0.448734f, 0.047115f,\r
2006     0.255810f, 0.425123f, 0.077075f,\r
2007     0.376859f, 0.405678f, 0.110764f,\r
2008     0.489867f, 0.386234f, 0.142215f,\r
2009     0.573395f, 0.362623f, 0.165462f,\r
2010     0.606002f, 0.330678f, 0.174537f,\r
2011     0.130681f, 0.448734f, 0.089161f,\r
2012     0.227213f, 0.425123f, 0.145857f,\r
2013     0.335762f, 0.405678f, 0.209611f,\r
2014     0.437101f, 0.386234f, 0.269130f,\r
2015     0.512003f, 0.362623f, 0.313123f,\r
2016     0.541243f, 0.330678f, 0.330296f,\r
2017     0.103451f, 0.448734f, 0.124579f,\r
2018     0.182669f, 0.425123f, 0.203796f,\r
2019     0.271748f, 0.405678f, 0.292875f,\r
2020     0.354910f, 0.386234f, 0.376037f,\r
2021     0.416377f, 0.362623f, 0.437505f,\r
2022     0.440373f, 0.330678f, 0.461500f,\r
2023     0.068034f, 0.448734f, 0.151808f,\r
2024     0.124730f, 0.425123f, 0.248340f,\r
2025     0.188484f, 0.405678f, 0.356889f,\r
2026     0.248003f, 0.386234f, 0.458228f,\r
2027     0.291995f, 0.362623f, 0.533130f,\r
2028     0.309169f, 0.330678f, 0.562370f,\r
2029     0.025988f, 0.448734f, 0.169289f,\r
2030     0.055948f, 0.425123f, 0.276938f,\r
2031     0.089637f, 0.405678f, 0.397986f,\r
2032     0.121088f, 0.386234f, 0.510995f,\r
2033     0.144335f, 0.362623f, 0.594523f,\r
2034     0.153410f, 0.330678f, 0.627130f,\r
2035     -0.021127f, 0.448734f, 0.175463f,\r
2036     -0.021127f, 0.425123f, 0.287037f,\r
2037     -0.021127f, 0.405678f, 0.412500f,\r
2038     -0.021127f, 0.386234f, 0.529630f,\r
2039     -0.021127f, 0.362623f, 0.616204f,\r
2040     -0.021127f, 0.330678f, 0.650000f,\r
2041     -0.068242f, 0.448734f, 0.169289f,\r
2042     -0.098202f, 0.425123f, 0.276938f,\r
2043     -0.131891f, 0.405678f, 0.397986f,\r
2044     -0.163343f, 0.386234f, 0.510995f,\r
2045     -0.186589f, 0.362623f, 0.594523f,\r
2046     -0.195664f, 0.330678f, 0.627130f,\r
2047     -0.110288f, 0.448734f, 0.151808f,\r
2048     -0.166985f, 0.425123f, 0.248340f,\r
2049     -0.230738f, 0.405678f, 0.356889f,\r
2050     -0.290258f, 0.386234f, 0.458228f,\r
2051     -0.334250f, 0.362623f, 0.533130f,\r
2052     -0.351424f, 0.330678f, 0.562370f,\r
2053     -0.145706f, 0.448734f, 0.124579f,\r
2054     -0.224924f, 0.425123f, 0.203796f,\r
2055     -0.314002f, 0.405678f, 0.292875f,\r
2056     -0.397164f, 0.386234f, 0.376037f,\r
2057     -0.458632f, 0.362623f, 0.437505f,\r
2058     -0.482627f, 0.330678f, 0.461500f,\r
2059     -0.172935f, 0.448734f, 0.089161f,\r
2060     -0.269467f, 0.425123f, 0.145857f,\r
2061     -0.378016f, 0.405678f, 0.209611f,\r
2062     -0.479355f, 0.386234f, 0.269130f,\r
2063     -0.554258f, 0.362623f, 0.313123f,\r
2064     -0.583498f, 0.330678f, 0.330296f,\r
2065     -0.190416f, 0.448734f, 0.047115f,\r
2066     -0.298065f, 0.425123f, 0.077075f,\r
2067     -0.419113f, 0.405678f, 0.110764f,\r
2068     -0.532122f, 0.386234f, 0.142215f,\r
2069     -0.615650f, 0.362623f, 0.165462f,\r
2070     -0.648257f, 0.330678f, 0.174537f,\r
2071     -0.196590f, 0.448734f, 0.000000f,\r
2072     -0.308164f, 0.425123f, 0.000000f,\r
2073     -0.433627f, 0.405678f, 0.000000f,\r
2074     -0.550757f, 0.386234f, 0.000000f,\r
2075     -0.637331f, 0.362623f, 0.000000f,\r
2076     -0.671127f, 0.330678f, 0.000000f,\r
2077     -0.190416f, 0.448734f, -0.047115f,\r
2078     -0.298065f, 0.425123f, -0.077075f,\r
2079     -0.419113f, 0.405678f, -0.110764f,\r
2080     -0.532122f, 0.386234f, -0.142215f,\r
2081     -0.615650f, 0.362623f, -0.165462f,\r
2082     -0.648257f, 0.330678f, -0.174537f,\r
2083     -0.172935f, 0.448734f, -0.089161f,\r
2084     -0.269467f, 0.425123f, -0.145857f,\r
2085     -0.378016f, 0.405678f, -0.209611f,\r
2086     -0.479355f, 0.386234f, -0.269130f,\r
2087     -0.554258f, 0.362623f, -0.313123f,\r
2088     -0.583498f, 0.330678f, -0.330296f,\r
2089     -0.145706f, 0.448734f, -0.124579f,\r
2090     -0.224924f, 0.425123f, -0.203796f,\r
2091     -0.314002f, 0.405678f, -0.292875f,\r
2092     -0.397164f, 0.386234f, -0.376037f,\r
2093     -0.458632f, 0.362623f, -0.437505f,\r
2094     -0.482627f, 0.330678f, -0.461500f,\r
2095     -0.110288f, 0.448734f, -0.151808f,\r
2096     -0.166985f, 0.425123f, -0.248340f,\r
2097     -0.230738f, 0.405678f, -0.356889f,\r
2098     -0.290258f, 0.386234f, -0.458228f,\r
2099     -0.334250f, 0.362623f, -0.533130f,\r
2100     -0.351424f, 0.330678f, -0.562370f,\r
2101     -0.068242f, 0.448734f, -0.169289f,\r
2102     -0.098202f, 0.425123f, -0.276938f,\r
2103     -0.131891f, 0.405678f, -0.397986f,\r
2104     -0.163343f, 0.386234f, -0.510995f,\r
2105     -0.186589f, 0.362623f, -0.594523f,\r
2106     -0.195664f, 0.330678f, -0.627130f,\r
2107     -0.021127f, 0.448734f, -0.175463f,\r
2108     -0.021127f, 0.425123f, -0.287037f,\r
2109     -0.021127f, 0.405678f, -0.412500f,\r
2110     -0.021127f, 0.386234f, -0.529630f,\r
2111     -0.021127f, 0.362623f, -0.616204f,\r
2112     -0.021127f, 0.330678f, -0.650000f,\r
2113     0.025988f, 0.448734f, -0.169289f,\r
2114     0.055948f, 0.425123f, -0.276938f,\r
2115     0.089637f, 0.405678f, -0.397986f,\r
2116     0.121088f, 0.386234f, -0.510995f,\r
2117     0.144335f, 0.362623f, -0.594523f,\r
2118     0.153410f, 0.330678f, -0.627130f,\r
2119     0.068034f, 0.448734f, -0.151808f,\r
2120     0.124730f, 0.425123f, -0.248340f,\r
2121     0.188484f, 0.405678f, -0.356889f,\r
2122     0.248003f, 0.386234f, -0.458228f,\r
2123     0.291996f, 0.362623f, -0.533130f,\r
2124     0.309169f, 0.330678f, -0.562370f,\r
2125     0.103451f, 0.448734f, -0.124579f,\r
2126     0.182669f, 0.425123f, -0.203796f,\r
2127     0.271748f, 0.405678f, -0.292875f,\r
2128     0.354910f, 0.386234f, -0.376037f,\r
2129     0.416377f, 0.362623f, -0.437505f,\r
2130     0.440373f, 0.330678f, -0.461500f,\r
2131     0.130681f, 0.448734f, -0.089161f,\r
2132     0.227213f, 0.425123f, -0.145857f,\r
2133     0.335762f, 0.405678f, -0.209611f,\r
2134     0.437101f, 0.386234f, -0.269130f,\r
2135     0.512003f, 0.362623f, -0.313123f,\r
2136     0.541243f, 0.330678f, -0.330296f,\r
2137     0.148162f, 0.448734f, -0.047115f,\r
2138     0.255810f, 0.425123f, -0.077075f,\r
2139     0.376859f, 0.405678f, -0.110764f,\r
2140     0.489867f, 0.386234f, -0.142215f,\r
2141     0.573395f, 0.362623f, -0.165462f,\r
2142     0.606002f, 0.330678f, -0.174537f,\r
2143 };\r
2144 static D3DXVECTOR3* teapotPositions = ( D3DXVECTOR3* )teapotPositionsFloats;\r
2145 \r
2146 static float teapotNormalsfloats[NUMTEAPOTVERTICES*3] =\r
2147 {\r
2148     -0.945751f, -0.322256f, -0.041309f,\r
2149     -0.992771f, -0.120019f, -0.001089f,\r
2150     -0.842751f, 0.538169f, 0.012052f,\r
2151     -0.083588f, 0.996288f, 0.020560f,\r
2152     0.532170f, 0.846603f, 0.007614f,\r
2153     0.779300f, 0.626641f, 0.003491f,\r
2154     0.879896f, 0.475165f, 0.001103f,\r
2155     -0.902413f, -0.322783f, -0.285416f,\r
2156     -0.958558f, -0.120097f, -0.258348f,\r
2157     -0.816875f, 0.538579f, -0.206514f,\r
2158     -0.086190f, 0.996277f, -0.001604f,\r
2159     0.511484f, 0.846942f, 0.145167f,\r
2160     0.751363f, 0.627164f, 0.205227f,\r
2161     0.849281f, 0.475682f, 0.229015f,\r
2162     -0.797449f, -0.323303f, -0.509461f,\r
2163     -0.858625f, -0.120328f, -0.498282f,\r
2164     -0.735017f, 0.538957f, -0.411431f,\r
2165     -0.082580f, 0.996294f, -0.024043f,\r
2166     0.455735f, 0.847352f, 0.272581f,\r
2167     0.671856f, 0.627868f, 0.392927f,\r
2168     0.760399f, 0.476384f, 0.441420f,\r
2169     -0.639341f, -0.323439f, -0.697589f,\r
2170     -0.701183f, -0.120461f, -0.702731f,\r
2171     -0.604040f, 0.539064f, -0.586980f,\r
2172     -0.073399f, 0.996309f, -0.044511f,\r
2173     0.369925f, 0.847499f, 0.380659f,\r
2174     0.547722f, 0.628143f, 0.552663f,\r
2175     0.620826f, 0.476660f, 0.622391f,\r
2176     -0.437782f, -0.323142f, -0.839003f,\r
2177     -0.496373f, -0.120437f, -0.859715f,\r
2178     -0.432443f, 0.538876f, -0.722914f,\r
2179     -0.059523f, 0.996312f, -0.061801f,\r
2180     0.259388f, 0.847326f, 0.463418f,\r
2181     0.386844f, 0.627880f, 0.675366f,\r
2182     0.439492f, 0.476398f, 0.761506f,\r
2183     -0.204681f, -0.322547f, -0.924159f,\r
2184     -0.256209f, -0.120257f, -0.959112f,\r
2185     -0.230122f, 0.538458f, -0.810621f,\r
2186     -0.041668f, 0.996304f, -0.075119f,\r
2187     0.130300f, 0.846904f, 0.515534f,\r
2188     0.198391f, 0.627182f, 0.753183f,\r
2189     0.226852f, 0.475703f, 0.849850f,\r
2190     0.035941f, -0.330214f, -0.943221f,\r
2191     -0.001376f, -0.125569f, -0.992084f,\r
2192     -0.012701f, 0.535792f, -0.844254f,\r
2193     -0.020672f, 0.996343f, -0.082901f,\r
2194     -0.007571f, 0.846427f, 0.532451f,\r
2195     -0.003482f, 0.626608f, 0.779327f,\r
2196     -0.001103f, 0.475165f, 0.879896f,\r
2197     0.269574f, -0.386954f, -0.881814f,\r
2198     0.249993f, -0.181783f, -0.951030f,\r
2199     0.211872f, 0.499984f, -0.839718f,\r
2200     0.002768f, 0.995768f, -0.091859f,\r
2201     -0.146446f, 0.844150f, 0.515718f,\r
2202     -0.205497f, 0.625909f, 0.752335f,\r
2203     -0.229034f, 0.475536f, 0.849358f,\r
2204     0.482854f, -0.445924f, -0.753661f,\r
2205     0.483883f, -0.261599f, -0.835118f,\r
2206     0.442338f, 0.434016f, -0.784836f,\r
2207     0.036680f, 0.993502f, -0.107746f,\r
2208     -0.278510f, 0.839949f, 0.465746f,\r
2209     -0.394390f, 0.624142f, 0.674465f,\r
2210     -0.441541f, 0.475913f, 0.760624f,\r
2211     0.669165f, -0.453044f, -0.589041f,\r
2212     0.686401f, -0.287530f, -0.667967f,\r
2213     0.643212f, 0.404496f, -0.650124f,\r
2214     0.074604f, 0.991460f, -0.106959f,\r
2215     -0.391289f, 0.837987f, 0.380356f,\r
2216     -0.555484f, 0.623132f, 0.550586f,\r
2217     -0.622636f, 0.476008f, 0.621080f,\r
2218     0.821788f, -0.407716f, -0.398036f,\r
2219     0.849894f, -0.244430f, -0.466834f,\r
2220     0.778095f, 0.435804f, -0.452374f,\r
2221     0.095458f, 0.992115f, -0.081218f,\r
2222     -0.473659f, 0.839871f, 0.265074f,\r
2223     -0.678265f, 0.623724f, 0.388490f,\r
2224     -0.761768f, 0.475842f, 0.439641f,\r
2225     0.919150f, -0.348512f, -0.183583f,\r
2226     0.956218f, -0.171139f, -0.237398f,\r
2227     0.838823f, 0.493898f, -0.229000f,\r
2228     0.094322f, 0.994404f, -0.047578f,\r
2229     -0.520640f, 0.843596f, 0.131452f,\r
2230     -0.754753f, 0.625180f, 0.198741f,\r
2231     -0.849997f, 0.475426f, 0.226882f,\r
2232     0.945537f, -0.322183f, 0.046446f,\r
2233     0.991881f, -0.126966f, 0.007216f,\r
2234     0.847572f, 0.530605f, -0.008996f,\r
2235     0.087879f, 0.995918f, -0.020615f,\r
2236     -0.533063f, 0.846041f, -0.007711f,\r
2237     -0.779612f, 0.626253f, -0.003532f,\r
2238     -0.879926f, 0.475109f, -0.001109f,\r
2239     0.902413f, -0.322783f, 0.285416f,\r
2240     0.958558f, -0.120097f, 0.258348f,\r
2241     0.816875f, 0.538579f, 0.206514f,\r
2242     0.086190f, 0.996277f, 0.001604f,\r
2243     -0.511484f, 0.846942f, -0.145167f,\r
2244     -0.751363f, 0.627164f, -0.205227f,\r
2245     -0.849281f, 0.475682f, -0.229015f,\r
2246     0.797449f, -0.323303f, 0.509461f,\r
2247     0.858625f, -0.120328f, 0.498282f,\r
2248     0.735017f, 0.538957f, 0.411431f,\r
2249     0.082580f, 0.996294f, 0.024043f,\r
2250     -0.455735f, 0.847352f, -0.272581f,\r
2251     -0.671856f, 0.627868f, -0.392927f,\r
2252     -0.760399f, 0.476384f, -0.441420f,\r
2253     0.639341f, -0.323439f, 0.697589f,\r
2254     0.701183f, -0.120461f, 0.702731f,\r
2255     0.604040f, 0.539064f, 0.586980f,\r
2256     0.073399f, 0.996309f, 0.044511f,\r
2257     -0.369925f, 0.847499f, -0.380659f,\r
2258     -0.547722f, 0.628143f, -0.552663f,\r
2259     -0.620826f, 0.476660f, -0.622391f,\r
2260     0.437782f, -0.323142f, 0.839003f,\r
2261     0.496373f, -0.120437f, 0.859715f,\r
2262     0.432443f, 0.538876f, 0.722914f,\r
2263     0.059523f, 0.996312f, 0.061801f,\r
2264     -0.259388f, 0.847326f, -0.463418f,\r
2265     -0.386844f, 0.627880f, -0.675366f,\r
2266     -0.439492f, 0.476398f, -0.761506f,\r
2267     0.204681f, -0.322547f, 0.924159f,\r
2268     0.256209f, -0.120257f, 0.959112f,\r
2269     0.230122f, 0.538458f, 0.810621f,\r
2270     0.041668f, 0.996304f, 0.075119f,\r
2271     -0.130300f, 0.846904f, -0.515534f,\r
2272     -0.198391f, 0.627182f, -0.753183f,\r
2273     -0.226852f, 0.475703f, -0.849850f,\r
2274     -0.041309f, -0.322256f, 0.945751f,\r
2275     -0.001089f, -0.120019f, 0.992771f,\r
2276     0.012052f, 0.538169f, 0.842751f,\r
2277     0.020560f, 0.996288f, 0.083588f,\r
2278     0.007614f, 0.846603f, -0.532170f,\r
2279     0.003491f, 0.626641f, -0.779300f,\r
2280     0.001103f, 0.475165f, -0.879896f,\r
2281     -0.285416f, -0.322783f, 0.902413f,\r
2282     -0.258348f, -0.120097f, 0.958558f,\r
2283     -0.206514f, 0.538579f, 0.816875f,\r
2284     -0.001604f, 0.996277f, 0.086190f,\r
2285     0.145167f, 0.846942f, -0.511484f,\r
2286     0.205227f, 0.627164f, -0.751363f,\r
2287     0.229015f, 0.475682f, -0.849281f,\r
2288     -0.509461f, -0.323303f, 0.797449f,\r
2289     -0.498282f, -0.120328f, 0.858625f,\r
2290     -0.411431f, 0.538957f, 0.735017f,\r
2291     -0.024043f, 0.996294f, 0.082580f,\r
2292     0.272581f, 0.847352f, -0.455735f,\r
2293     0.392927f, 0.627868f, -0.671856f,\r
2294     0.441420f, 0.476384f, -0.760399f,\r
2295     -0.697589f, -0.323439f, 0.639341f,\r
2296     -0.702731f, -0.120461f, 0.701183f,\r
2297     -0.586980f, 0.539064f, 0.604040f,\r
2298     -0.044511f, 0.996309f, 0.073399f,\r
2299     0.380659f, 0.847499f, -0.369925f,\r
2300     0.552663f, 0.628143f, -0.547722f,\r
2301     0.622391f, 0.476660f, -0.620826f,\r
2302     -0.839003f, -0.323142f, 0.437782f,\r
2303     -0.859715f, -0.120437f, 0.496373f,\r
2304     -0.722914f, 0.538876f, 0.432443f,\r
2305     -0.061801f, 0.996312f, 0.059523f,\r
2306     0.463418f, 0.847326f, -0.259388f,\r
2307     0.675366f, 0.627880f, -0.386844f,\r
2308     0.761506f, 0.476398f, -0.439492f,\r
2309     -0.924159f, -0.322547f, 0.204681f,\r
2310     -0.959112f, -0.120257f, 0.256209f,\r
2311     -0.810621f, 0.538458f, 0.230122f,\r
2312     -0.075119f, 0.996304f, 0.041668f,\r
2313     0.515534f, 0.846904f, -0.130300f,\r
2314     0.753183f, 0.627182f, -0.198391f,\r
2315     0.849850f, 0.475703f, -0.226852f,\r
2316     0.908180f, 0.418579f, 0.000170f,\r
2317     0.920061f, 0.391776f, 0.000335f,\r
2318     0.939254f, 0.343222f, 0.000478f,\r
2319     0.963807f, 0.266599f, 0.000552f,\r
2320     0.988261f, 0.152772f, 0.000449f,\r
2321     0.998933f, -0.046187f, -0.000262f,\r
2322     0.876892f, 0.419073f, 0.235451f,\r
2323     0.888349f, 0.392247f, 0.238702f,\r
2324     0.906891f, 0.343648f, 0.243832f,\r
2325     0.930644f, 0.266938f, 0.250291f,\r
2326     0.954351f, 0.152959f, 0.256551f,\r
2327     0.964867f, -0.046304f, 0.258627f,\r
2328     0.785456f, 0.419734f, 0.454843f,\r
2329     0.795707f, 0.392883f, 0.460971f,\r
2330     0.812334f, 0.344228f, 0.470766f,\r
2331     0.833667f, 0.267414f, 0.483207f,\r
2332     0.855012f, 0.153250f, 0.495448f,\r
2333     0.864663f, -0.046372f, 0.500207f,\r
2334     0.641599f, 0.419990f, 0.641841f,\r
2335     0.649935f, 0.393130f, 0.650410f,\r
2336     0.663494f, 0.344457f, 0.664173f,\r
2337     0.680925f, 0.267607f, 0.681710f,\r
2338     0.698421f, 0.153377f, 0.699059f,\r
2339     0.706532f, -0.046369f, 0.706160f,\r
2340     0.454545f, 0.419737f, 0.785627f,\r
2341     0.460384f, 0.392890f, 0.796043f,\r
2342     0.469929f, 0.344241f, 0.812813f,\r
2343     0.482239f, 0.267436f, 0.834220f,\r
2344     0.494660f, 0.153286f, 0.855462f,\r
2345     0.500666f, -0.046300f, 0.864402f,\r
2346     0.235117f, 0.419078f, 0.876980f,\r
2347     0.238044f, 0.392258f, 0.888521f,\r
2348     0.242894f, 0.343667f, 0.907136f,\r
2349     0.249206f, 0.266970f, 0.930926f,\r
2350     0.255668f, 0.153012f, 0.954579f,\r
2351     0.259142f, -0.046198f, 0.964734f,\r
2352     -0.000170f, 0.418579f, 0.908181f,\r
2353     -0.000335f, 0.391776f, 0.920061f,\r
2354     -0.000478f, 0.343222f, 0.939254f,\r
2355     -0.000552f, 0.266599f, 0.963807f,\r
2356     -0.000449f, 0.152772f, 0.988261f,\r
2357     0.000262f, -0.046187f, 0.998933f,\r
2358     -0.235451f, 0.419073f, 0.876892f,\r
2359     -0.238702f, 0.392247f, 0.888349f,\r
2360     -0.243832f, 0.343648f, 0.906891f,\r
2361     -0.250291f, 0.266938f, 0.930644f,\r
2362     -0.256551f, 0.152959f, 0.954351f,\r
2363     -0.258627f, -0.046304f, 0.964867f,\r
2364     -0.454843f, 0.419734f, 0.785456f,\r
2365     -0.460971f, 0.392883f, 0.795707f,\r
2366     -0.470766f, 0.344228f, 0.812334f,\r
2367     -0.483207f, 0.267414f, 0.833667f,\r
2368     -0.495448f, 0.153250f, 0.855012f,\r
2369     -0.500207f, -0.046372f, 0.864663f,\r
2370     -0.641841f, 0.419990f, 0.641599f,\r
2371     -0.650410f, 0.393130f, 0.649935f,\r
2372     -0.664173f, 0.344457f, 0.663494f,\r
2373     -0.681710f, 0.267607f, 0.680925f,\r
2374     -0.699059f, 0.153377f, 0.698421f,\r
2375     -0.706160f, -0.046369f, 0.706532f,\r
2376     -0.785627f, 0.419737f, 0.454545f,\r
2377     -0.796043f, 0.392890f, 0.460384f,\r
2378     -0.812813f, 0.344241f, 0.469929f,\r
2379     -0.834220f, 0.267436f, 0.482239f,\r
2380     -0.855462f, 0.153286f, 0.494660f,\r
2381     -0.864402f, -0.046300f, 0.500666f,\r
2382     -0.876980f, 0.419078f, 0.235117f,\r
2383     -0.888521f, 0.392258f, 0.238044f,\r
2384     -0.907136f, 0.343667f, 0.242894f,\r
2385     -0.930926f, 0.266970f, 0.249206f,\r
2386     -0.954579f, 0.153012f, 0.255668f,\r
2387     -0.964734f, -0.046198f, 0.259142f,\r
2388     -0.908181f, 0.418579f, -0.000170f,\r
2389     -0.920061f, 0.391776f, -0.000335f,\r
2390     -0.939254f, 0.343222f, -0.000478f,\r
2391     -0.963807f, 0.266599f, -0.000552f,\r
2392     -0.988261f, 0.152772f, -0.000449f,\r
2393     -0.998933f, -0.046187f, 0.000262f,\r
2394     -0.876892f, 0.419073f, -0.235451f,\r
2395     -0.888349f, 0.392247f, -0.238702f,\r
2396     -0.906891f, 0.343648f, -0.243832f,\r
2397     -0.930644f, 0.266938f, -0.250291f,\r
2398     -0.954351f, 0.152959f, -0.256551f,\r
2399     -0.964867f, -0.046304f, -0.258627f,\r
2400     -0.785456f, 0.419734f, -0.454843f,\r
2401     -0.795707f, 0.392883f, -0.460971f,\r
2402     -0.812334f, 0.344228f, -0.470766f,\r
2403     -0.833667f, 0.267414f, -0.483207f,\r
2404     -0.855012f, 0.153250f, -0.495448f,\r
2405     -0.864663f, -0.046372f, -0.500207f,\r
2406     -0.641599f, 0.419990f, -0.641841f,\r
2407     -0.649935f, 0.393130f, -0.650410f,\r
2408     -0.663494f, 0.344457f, -0.664173f,\r
2409     -0.680925f, 0.267607f, -0.681710f,\r
2410     -0.698421f, 0.153377f, -0.699059f,\r
2411     -0.706532f, -0.046369f, -0.706160f,\r
2412     -0.454545f, 0.419737f, -0.785627f,\r
2413     -0.460384f, 0.392890f, -0.796043f,\r
2414     -0.469929f, 0.344241f, -0.812813f,\r
2415     -0.482239f, 0.267436f, -0.834220f,\r
2416     -0.494660f, 0.153286f, -0.855462f,\r
2417     -0.500666f, -0.046300f, -0.864402f,\r
2418     -0.235117f, 0.419078f, -0.876980f,\r
2419     -0.238044f, 0.392258f, -0.888521f,\r
2420     -0.242894f, 0.343667f, -0.907136f,\r
2421     -0.249206f, 0.266970f, -0.930926f,\r
2422     -0.255668f, 0.153012f, -0.954579f,\r
2423     -0.259142f, -0.046198f, -0.964734f,\r
2424     0.000170f, 0.418579f, -0.908181f,\r
2425     0.000335f, 0.391776f, -0.920061f,\r
2426     0.000478f, 0.343222f, -0.939254f,\r
2427     0.000552f, 0.266599f, -0.963807f,\r
2428     0.000449f, 0.152772f, -0.988261f,\r
2429     -0.000262f, -0.046187f, -0.998933f,\r
2430     0.235451f, 0.419073f, -0.876892f,\r
2431     0.238702f, 0.392247f, -0.888349f,\r
2432     0.243832f, 0.343648f, -0.906891f,\r
2433     0.250291f, 0.266938f, -0.930644f,\r
2434     0.256551f, 0.152959f, -0.954351f,\r
2435     0.258627f, -0.046304f, -0.964867f,\r
2436     0.454843f, 0.419734f, -0.785456f,\r
2437     0.460971f, 0.392883f, -0.795707f,\r
2438     0.470766f, 0.344228f, -0.812334f,\r
2439     0.483207f, 0.267414f, -0.833667f,\r
2440     0.495448f, 0.153250f, -0.855012f,\r
2441     0.500207f, -0.046372f, -0.864663f,\r
2442     0.641841f, 0.419990f, -0.641599f,\r
2443     0.650410f, 0.393130f, -0.649935f,\r
2444     0.664173f, 0.344457f, -0.663494f,\r
2445     0.681710f, 0.267607f, -0.680925f,\r
2446     0.699059f, 0.153377f, -0.698421f,\r
2447     0.706160f, -0.046369f, -0.706532f,\r
2448     0.785627f, 0.419737f, -0.454545f,\r
2449     0.796043f, 0.392890f, -0.460384f,\r
2450     0.812813f, 0.344241f, -0.469929f,\r
2451     0.834220f, 0.267436f, -0.482239f,\r
2452     0.855462f, 0.153286f, -0.494660f,\r
2453     0.864402f, -0.046300f, -0.500666f,\r
2454     0.876980f, 0.419078f, -0.235117f,\r
2455     0.888521f, 0.392258f, -0.238044f,\r
2456     0.907136f, 0.343667f, -0.242894f,\r
2457     0.930926f, 0.266970f, -0.249206f,\r
2458     0.954579f, 0.153012f, -0.255668f,\r
2459     0.964734f, -0.046198f, -0.259142f,\r
2460     0.943833f, -0.330414f, -0.002283f,\r
2461     0.821403f, -0.570341f, -0.002745f,\r
2462     0.709541f, -0.704661f, -0.001958f,\r
2463     0.652305f, -0.757957f, -0.000466f,\r
2464     0.728669f, -0.684856f, 0.003576f,\r
2465     0.889124f, -0.457656f, 0.003164f,\r
2466     0.912037f, -0.330868f, 0.242313f,\r
2467     0.793697f, -0.570897f, 0.210051f,\r
2468     0.685340f, -0.705168f, 0.181787f,\r
2469     0.629635f, -0.758420f, 0.168401f,\r
2470     0.702387f, -0.685364f, 0.192168f,\r
2471     0.857690f, -0.458122f, 0.233435f,\r
2472     0.817716f, -0.331385f, 0.470664f,\r
2473     0.711528f, -0.571608f, 0.408646f,\r
2474     0.614071f, -0.705839f, 0.353140f,\r
2475     0.563713f, -0.759034f, 0.325721f,\r
2476     0.627891f, -0.686037f, 0.367569f,\r
2477     0.767411f, -0.458787f, 0.447879f,\r
2478     0.668728f, -0.331557f, 0.665486f,\r
2479     0.582010f, -0.571874f, 0.578122f,\r
2480     0.502096f, -0.706097f, 0.499327f,\r
2481     0.460496f, -0.759271f, 0.459838f,\r
2482     0.511760f, -0.686297f, 0.516816f,\r
2483     0.625950f, -0.459060f, 0.630437f,\r
2484     0.474660f, -0.331321f, 0.815429f,\r
2485     0.413434f, -0.571590f, 0.708771f,\r
2486     0.356547f, -0.705839f, 0.612100f,\r
2487     0.326530f, -0.759035f, 0.563244f,\r
2488     0.361346f, -0.686040f, 0.631489f,\r
2489     0.442349f, -0.458832f, 0.770585f,\r
2490     0.246794f, -0.330773f, 0.910869f,\r
2491     0.215429f, -0.570870f, 0.792274f,\r
2492     0.185619f, -0.705168f, 0.684313f,\r
2493     0.169311f, -0.758421f, 0.629390f,\r
2494     0.185170f, -0.685368f, 0.704260f,\r
2495     0.227231f, -0.458188f, 0.859319f,\r
2496     0.002283f, -0.330414f, 0.943833f,\r
2497     0.002745f, -0.570341f, 0.821403f,\r
2498     0.001958f, -0.704661f, 0.709541f,\r
2499     0.000466f, -0.757957f, 0.652305f,\r
2500     -0.003576f, -0.684856f, 0.728669f,\r
2501     -0.003164f, -0.457656f, 0.889124f,\r
2502     -0.242313f, -0.330868f, 0.912037f,\r
2503     -0.210051f, -0.570897f, 0.793697f,\r
2504     -0.181787f, -0.705168f, 0.685340f,\r
2505     -0.168401f, -0.758420f, 0.629635f,\r
2506     -0.192168f, -0.685364f, 0.702387f,\r
2507     -0.233435f, -0.458122f, 0.857690f,\r
2508     -0.470664f, -0.331385f, 0.817716f,\r
2509     -0.408646f, -0.571608f, 0.711528f,\r
2510     -0.353140f, -0.705839f, 0.614071f,\r
2511     -0.325721f, -0.759034f, 0.563713f,\r
2512     -0.367569f, -0.686037f, 0.627891f,\r
2513     -0.447879f, -0.458787f, 0.767411f,\r
2514     -0.665486f, -0.331557f, 0.668728f,\r
2515     -0.578122f, -0.571874f, 0.582010f,\r
2516     -0.499327f, -0.706097f, 0.502096f,\r
2517     -0.459838f, -0.759271f, 0.460496f,\r
2518     -0.516816f, -0.686297f, 0.511760f,\r
2519     -0.630437f, -0.459060f, 0.625950f,\r
2520     -0.815429f, -0.331321f, 0.474660f,\r
2521     -0.708771f, -0.571590f, 0.413434f,\r
2522     -0.612100f, -0.705839f, 0.356547f,\r
2523     -0.563244f, -0.759035f, 0.326530f,\r
2524     -0.631489f, -0.686040f, 0.361346f,\r
2525     -0.770585f, -0.458832f, 0.442349f,\r
2526     -0.910869f, -0.330773f, 0.246794f,\r
2527     -0.792274f, -0.570870f, 0.215429f,\r
2528     -0.684313f, -0.705168f, 0.185619f,\r
2529     -0.629390f, -0.758421f, 0.169311f,\r
2530     -0.704260f, -0.685368f, 0.185170f,\r
2531     -0.859319f, -0.458188f, 0.227231f,\r
2532     -0.943833f, -0.330414f, 0.002283f,\r
2533     -0.821403f, -0.570341f, 0.002745f,\r
2534     -0.709541f, -0.704661f, 0.001958f,\r
2535     -0.652305f, -0.757957f, 0.000466f,\r
2536     -0.728669f, -0.684856f, -0.003576f,\r
2537     -0.889124f, -0.457656f, -0.003164f,\r
2538     -0.912037f, -0.330868f, -0.242313f,\r
2539     -0.793697f, -0.570897f, -0.210051f,\r
2540     -0.685340f, -0.705168f, -0.181787f,\r
2541     -0.629635f, -0.758420f, -0.168401f,\r
2542     -0.702387f, -0.685364f, -0.192168f,\r
2543     -0.857690f, -0.458122f, -0.233435f,\r
2544     -0.817716f, -0.331385f, -0.470664f,\r
2545     -0.711528f, -0.571608f, -0.408646f,\r
2546     -0.614071f, -0.705839f, -0.353140f,\r
2547     -0.563713f, -0.759034f, -0.325721f,\r
2548     -0.627891f, -0.686037f, -0.367569f,\r
2549     -0.767411f, -0.458787f, -0.447879f,\r
2550     -0.668728f, -0.331557f, -0.665486f,\r
2551     -0.582010f, -0.571874f, -0.578122f,\r
2552     -0.502096f, -0.706097f, -0.499327f,\r
2553     -0.460496f, -0.759271f, -0.459838f,\r
2554     -0.511760f, -0.686297f, -0.516816f,\r
2555     -0.625950f, -0.459060f, -0.630437f,\r
2556     -0.474660f, -0.331321f, -0.815429f,\r
2557     -0.413434f, -0.571590f, -0.708771f,\r
2558     -0.356547f, -0.705839f, -0.612100f,\r
2559     -0.326530f, -0.759035f, -0.563244f,\r
2560     -0.361346f, -0.686040f, -0.631489f,\r
2561     -0.442349f, -0.458832f, -0.770585f,\r
2562     -0.246794f, -0.330773f, -0.910869f,\r
2563     -0.215429f, -0.570870f, -0.792274f,\r
2564     -0.185619f, -0.705168f, -0.684313f,\r
2565     -0.169311f, -0.758421f, -0.629390f,\r
2566     -0.185170f, -0.685368f, -0.704260f,\r
2567     -0.227231f, -0.458188f, -0.859319f,\r
2568     -0.002283f, -0.330414f, -0.943833f,\r
2569     -0.002745f, -0.570341f, -0.821403f,\r
2570     -0.001958f, -0.704661f, -0.709541f,\r
2571     -0.000466f, -0.757957f, -0.652305f,\r
2572     0.003576f, -0.684856f, -0.728669f,\r
2573     0.003164f, -0.457656f, -0.889124f,\r
2574     0.242313f, -0.330868f, -0.912037f,\r
2575     0.210051f, -0.570897f, -0.793697f,\r
2576     0.181787f, -0.705168f, -0.685340f,\r
2577     0.168401f, -0.758420f, -0.629635f,\r
2578     0.192168f, -0.685364f, -0.702387f,\r
2579     0.233435f, -0.458122f, -0.857690f,\r
2580     0.470664f, -0.331385f, -0.817716f,\r
2581     0.408646f, -0.571608f, -0.711528f,\r
2582     0.353140f, -0.705839f, -0.614071f,\r
2583     0.325721f, -0.759034f, -0.563713f,\r
2584     0.367569f, -0.686037f, -0.627891f,\r
2585     0.447879f, -0.458787f, -0.767411f,\r
2586     0.665486f, -0.331557f, -0.668728f,\r
2587     0.578122f, -0.571874f, -0.582010f,\r
2588     0.499327f, -0.706097f, -0.502096f,\r
2589     0.459838f, -0.759271f, -0.460496f,\r
2590     0.516816f, -0.686297f, -0.511760f,\r
2591     0.630437f, -0.459060f, -0.625950f,\r
2592     0.815429f, -0.331321f, -0.474660f,\r
2593     0.708771f, -0.571590f, -0.413434f,\r
2594     0.612100f, -0.705839f, -0.356547f,\r
2595     0.563244f, -0.759035f, -0.326530f,\r
2596     0.631489f, -0.686040f, -0.361346f,\r
2597     0.770585f, -0.458832f, -0.442349f,\r
2598     0.910869f, -0.330773f, -0.246794f,\r
2599     0.792274f, -0.570870f, -0.215429f,\r
2600     0.684313f, -0.705168f, -0.185619f,\r
2601     0.629390f, -0.758421f, -0.169311f,\r
2602     0.704260f, -0.685368f, -0.185170f,\r
2603     0.859319f, -0.458188f, -0.227231f,\r
2604     0.777345f, -0.628990f, -0.010332f,\r
2605     0.361793f, -0.932236f, -0.006477f,\r
2606     0.152402f, -0.988315f, -0.002559f,\r
2607     0.066422f, -0.997791f, -0.001190f,\r
2608     0.027401f, -0.999624f, -0.001027f,\r
2609     0.000000f, -1.000000f, 0.000000f,\r
2610     0.753154f, -0.629440f, 0.191218f,\r
2611     0.350766f, -0.932386f, 0.087291f,\r
2612     0.147688f, -0.988344f, 0.036926f,\r
2613     0.064386f, -0.997796f, 0.016021f,\r
2614     0.026706f, -0.999625f, 0.006087f,\r
2615     0.677297f, -0.629962f, 0.380023f,\r
2616     0.315543f, -0.932612f, 0.175124f,\r
2617     0.132774f, -0.988389f, 0.073881f,\r
2618     0.057900f, -0.997805f, 0.032133f,\r
2619     0.024157f, -0.999626f, 0.012794f,\r
2620     0.556310f, -0.630147f, 0.541695f,\r
2621     0.259523f, -0.932707f, 0.250409f,\r
2622     0.109137f, -0.988408f, 0.105540f,\r
2623     0.047613f, -0.997809f, 0.045941f,\r
2624     0.020018f, -0.999627f, 0.018575f,\r
2625     0.398014f, -0.629932f, 0.666911f,\r
2626     0.186318f, -0.932635f, 0.308995f,\r
2627     0.078296f, -0.988394f, 0.130182f,\r
2628     0.034185f, -0.997806f, 0.056696f,\r
2629     0.014564f, -0.999627f, 0.023117f,\r
2630     0.211443f, -0.629395f, 0.747766f,\r
2631     0.099921f, -0.932420f, 0.347287f,\r
2632     0.041912f, -0.988352f, 0.146303f,\r
2633     0.018338f, -0.997798f, 0.063741f,\r
2634     0.008087f, -0.999625f, 0.026150f,\r
2635     0.010332f, -0.628990f, 0.777345f,\r
2636     0.006477f, -0.932236f, 0.361793f,\r
2637     0.002559f, -0.988315f, 0.152402f,\r
2638     0.001190f, -0.997791f, 0.066422f,\r
2639     0.001027f, -0.999624f, 0.027401f,\r
2640     -0.191218f, -0.629440f, 0.753154f,\r
2641     -0.087291f, -0.932386f, 0.350766f,\r
2642     -0.036926f, -0.988344f, 0.147688f,\r
2643     -0.016021f, -0.997796f, 0.064386f,\r
2644     -0.006087f, -0.999625f, 0.026706f,\r
2645     -0.380023f, -0.629962f, 0.677297f,\r
2646     -0.175124f, -0.932612f, 0.315543f,\r
2647     -0.073881f, -0.988389f, 0.132774f,\r
2648     -0.032133f, -0.997805f, 0.057900f,\r
2649     -0.012794f, -0.999626f, 0.024157f,\r
2650     -0.541695f, -0.630147f, 0.556310f,\r
2651     -0.250409f, -0.932707f, 0.259523f,\r
2652     -0.105540f, -0.988408f, 0.109137f,\r
2653     -0.045941f, -0.997809f, 0.047613f,\r
2654     -0.018575f, -0.999627f, 0.020018f,\r
2655     -0.666911f, -0.629932f, 0.398014f,\r
2656     -0.308995f, -0.932635f, 0.186318f,\r
2657     -0.130182f, -0.988394f, 0.078296f,\r
2658     -0.056696f, -0.997806f, 0.034185f,\r
2659     -0.023117f, -0.999627f, 0.014564f,\r
2660     -0.747766f, -0.629395f, 0.211443f,\r
2661     -0.347287f, -0.932420f, 0.099921f,\r
2662     -0.146303f, -0.988352f, 0.041912f,\r
2663     -0.063741f, -0.997798f, 0.018338f,\r
2664     -0.026150f, -0.999625f, 0.008087f,\r
2665     -0.777345f, -0.628990f, 0.010332f,\r
2666     -0.361793f, -0.932236f, 0.006477f,\r
2667     -0.152402f, -0.988315f, 0.002559f,\r
2668     -0.066422f, -0.997791f, 0.001190f,\r
2669     -0.027401f, -0.999624f, 0.001027f,\r
2670     -0.753154f, -0.629440f, -0.191218f,\r
2671     -0.350766f, -0.932386f, -0.087291f,\r
2672     -0.147688f, -0.988344f, -0.036926f,\r
2673     -0.064386f, -0.997796f, -0.016021f,\r
2674     -0.026706f, -0.999625f, -0.006087f,\r
2675     -0.677297f, -0.629962f, -0.380023f,\r
2676     -0.315543f, -0.932612f, -0.175124f,\r
2677     -0.132774f, -0.988389f, -0.073881f,\r
2678     -0.057900f, -0.997805f, -0.032133f,\r
2679     -0.024157f, -0.999626f, -0.012794f,\r
2680     -0.556310f, -0.630147f, -0.541695f,\r
2681     -0.259523f, -0.932707f, -0.250409f,\r
2682     -0.109137f, -0.988408f, -0.105540f,\r
2683     -0.047613f, -0.997809f, -0.045941f,\r
2684     -0.020018f, -0.999627f, -0.018575f,\r
2685     -0.398014f, -0.629932f, -0.666911f,\r
2686     -0.186318f, -0.932635f, -0.308995f,\r
2687     -0.078296f, -0.988394f, -0.130182f,\r
2688     -0.034185f, -0.997806f, -0.056696f,\r
2689     -0.014564f, -0.999627f, -0.023117f,\r
2690     -0.211443f, -0.629395f, -0.747766f,\r
2691     -0.099921f, -0.932420f, -0.347287f,\r
2692     -0.041912f, -0.988352f, -0.146303f,\r
2693     -0.018338f, -0.997798f, -0.063741f,\r
2694     -0.008087f, -0.999625f, -0.026150f,\r
2695     -0.010332f, -0.628990f, -0.777345f,\r
2696     -0.006477f, -0.932236f, -0.361793f,\r
2697     -0.002559f, -0.988315f, -0.152402f,\r
2698     -0.001190f, -0.997791f, -0.066422f,\r
2699     -0.001027f, -0.999624f, -0.027401f,\r
2700     0.191218f, -0.629440f, -0.753154f,\r
2701     0.087291f, -0.932386f, -0.350766f,\r
2702     0.036926f, -0.988344f, -0.147688f,\r
2703     0.016021f, -0.997796f, -0.064386f,\r
2704     0.006087f, -0.999625f, -0.026706f,\r
2705     0.380023f, -0.629962f, -0.677297f,\r
2706     0.175124f, -0.932612f, -0.315543f,\r
2707     0.073881f, -0.988389f, -0.132774f,\r
2708     0.032133f, -0.997805f, -0.057900f,\r
2709     0.012794f, -0.999626f, -0.024157f,\r
2710     0.541695f, -0.630147f, -0.556310f,\r
2711     0.250409f, -0.932707f, -0.259523f,\r
2712     0.105540f, -0.988408f, -0.109137f,\r
2713     0.045941f, -0.997809f, -0.047613f,\r
2714     0.018575f, -0.999627f, -0.020018f,\r
2715     0.666911f, -0.629932f, -0.398014f,\r
2716     0.308995f, -0.932635f, -0.186318f,\r
2717     0.130182f, -0.988394f, -0.078296f,\r
2718     0.056696f, -0.997806f, -0.034185f,\r
2719     0.023117f, -0.999627f, -0.014564f,\r
2720     0.747766f, -0.629395f, -0.211443f,\r
2721     0.347287f, -0.932420f, -0.099921f,\r
2722     0.146303f, -0.988352f, -0.041912f,\r
2723     0.063741f, -0.997798f, -0.018338f,\r
2724     0.026150f, -0.999625f, -0.008087f,\r
2725     0.003252f, -0.999017f, 0.044215f,\r
2726     0.015240f, -0.999884f, -0.000426f,\r
2727     0.059928f, -0.998202f, -0.000876f,\r
2728     0.167134f, -0.985934f, -0.001083f,\r
2729     0.403838f, -0.914830f, -0.000203f,\r
2730     0.792445f, -0.609943f, 0.000242f,\r
2731     0.995161f, -0.098254f, -0.001013f,\r
2732     0.003195f, -0.927908f, 0.372795f,\r
2733     0.015041f, -0.949764f, 0.312606f,\r
2734     0.059227f, -0.948266f, 0.311904f,\r
2735     0.164453f, -0.933549f, 0.318499f,\r
2736     0.388162f, -0.854219f, 0.345890f,\r
2737     0.729394f, -0.561905f, 0.390189f,\r
2738     0.912351f, -0.095332f, 0.398156f,\r
2739     0.002232f, -0.597680f, 0.801731f,\r
2740     0.010830f, -0.681497f, 0.731741f,\r
2741     0.043613f, -0.679614f, 0.732272f,\r
2742     0.120047f, -0.660320f, 0.741327f,\r
2743     0.267930f, -0.580441f, 0.768962f,\r
2744     0.467285f, -0.367107f, 0.804287f,\r
2745     0.584006f, -0.067606f, 0.808929f,\r
2746     -0.000653f, 0.152635f, 0.988282f,\r
2747     -0.002559f, 0.000905f, 0.999996f,\r
2748     -0.007405f, 0.000384f, 0.999972f,\r
2749     -0.016090f, -0.004746f, 0.999859f,\r
2750     -0.025703f, -0.019620f, 0.999477f,\r
2751     -0.020936f, -0.035053f, 0.999166f,\r
2752     -0.002824f, -0.023899f, 0.999710f,\r
2753     -0.003296f, 0.756255f, 0.654269f,\r
2754     -0.015405f, 0.681251f, 0.731887f,\r
2755     -0.059217f, 0.676283f, 0.734258f,\r
2756     -0.158438f, 0.643792f, 0.748619f,\r
2757     -0.334170f, 0.526967f, 0.781432f,\r
2758     -0.518177f, 0.278028f, 0.808822f,\r
2759     -0.588929f, 0.016391f, 0.808019f,\r
2760     -0.004352f, 0.967350f, 0.253408f,\r
2761     -0.020677f, 0.949300f, 0.313691f,\r
2762     -0.081844f, 0.945117f, 0.316317f,\r
2763     -0.226175f, 0.916097f, 0.331076f,\r
2764     -0.500500f, 0.784289f, 0.366594f,\r
2765     -0.804374f, 0.439635f, 0.399630f,\r
2766     -0.916460f, 0.037237f, 0.398390f,\r
2767     -0.004517f, 0.999011f, -0.044228f,\r
2768     -0.021584f, 0.999767f, 0.000265f,\r
2769     -0.086245f, 0.996274f, 0.000157f,\r
2770     -0.240673f, 0.970606f, -0.000608f,\r
2771     -0.540280f, 0.841484f, -0.001597f,\r
2772     -0.877811f, 0.479008f, 0.000390f,\r
2773     -0.999074f, 0.043021f, 0.000686f,\r
2774     -0.004094f, 0.927919f, -0.372759f,\r
2775     -0.019687f, 0.949518f, -0.313093f,\r
2776     -0.079023f, 0.945545f, -0.315752f,\r
2777     -0.219600f, 0.917458f, -0.331734f,\r
2778     -0.488715f, 0.790534f, -0.369071f,\r
2779     -0.797673f, 0.452036f, -0.399226f,\r
2780     -0.916555f, 0.045675f, -0.397293f,\r
2781     -0.002516f, 0.597699f, -0.801716f,\r
2782     -0.012433f, 0.681272f, -0.731925f,\r
2783     -0.050950f, 0.677183f, -0.734048f,\r
2784     -0.140298f, 0.648898f, -0.747829f,\r
2785     -0.303501f, 0.546934f, -0.780224f,\r
2786     -0.495541f, 0.315794f, -0.809143f,\r
2787     -0.586888f, 0.043544f, -0.808497f,\r
2788     0.000557f, -0.152599f, -0.988288f,\r
2789     0.002074f, -0.000969f, -0.999997f,\r
2790     0.005499f, -0.001410f, -0.999984f,\r
2791     0.011569f, 0.000546f, -0.999933f,\r
2792     0.019331f, 0.010342f, -0.999760f,\r
2793     0.017294f, 0.025347f, -0.999529f,\r
2794     0.002733f, 0.020710f, -0.999782f,\r
2795     0.002668f, -0.756195f, -0.654340f,\r
2796     0.012416f, -0.681586f, -0.731633f,\r
2797     0.047946f, -0.679845f, -0.731787f,\r
2798     0.130533f, -0.659594f, -0.740200f,\r
2799     0.293034f, -0.569168f, -0.768231f,\r
2800     0.500213f, -0.318883f, -0.805047f,\r
2801     0.587808f, -0.026599f, -0.808563f,\r
2802     0.003191f, -0.967332f, -0.253494f,\r
2803     0.014981f, -0.949482f, -0.313464f,\r
2804     0.058954f, -0.947784f, -0.313417f,\r
2805     0.164056f, -0.933187f, -0.319761f,\r
2806     0.391212f, -0.853217f, -0.344925f,\r
2807     0.743675f, -0.542841f, -0.390219f,\r
2808     0.913602f, -0.073956f, -0.399828f,\r
2809     0.972925f, 0.231121f, -0.000918f,\r
2810     0.912330f, 0.409438f, -0.003849f,\r
2811     0.828029f, 0.560649f, -0.006408f,\r
2812     0.716807f, 0.697239f, -0.006712f,\r
2813     0.575989f, 0.817451f, -0.003302f,\r
2814     0.495133f, 0.867633f, -0.045350f,\r
2815     0.893985f, 0.213142f, 0.394158f,\r
2816     0.840605f, 0.383895f, 0.382108f,\r
2817     0.768860f, 0.531454f, 0.355543f,\r
2818     0.672509f, 0.665677f, 0.323426f,\r
2819     0.545610f, 0.779633f, 0.307380f,\r
2820     0.479303f, 0.843050f, 0.244000f,\r
2821     0.576388f, 0.133958f, 0.806122f,\r
2822     0.544470f, 0.253746f, 0.799478f,\r
2823     0.508754f, 0.364144f, 0.780108f,\r
2824     0.461180f, 0.471780f, 0.751490f,\r
2825     0.387281f, 0.561166f, 0.731509f,\r
2826     0.371347f, 0.666129f, 0.646818f,\r
2827     0.002410f, -0.014515f, 0.999892f,\r
2828     0.001301f, -0.016411f, 0.999865f,\r
2829     0.000720f, -0.020201f, 0.999796f,\r
2830     0.003256f, -0.021359f, 0.999767f,\r
2831     0.008876f, -0.013337f, 0.999872f,\r
2832     0.072759f, 0.131709f, 0.988615f,\r
2833     -0.569088f, -0.161451f, 0.806271f,\r
2834     -0.524317f, -0.294841f, 0.798850f,\r
2835     -0.472635f, -0.410610f, 0.779754f,\r
2836     -0.415783f, -0.508606f, 0.753953f,\r
2837     -0.349674f, -0.579676f, 0.736006f,\r
2838     -0.279208f, -0.530698f, 0.800252f,\r
2839     -0.885693f, -0.241406f, 0.396574f,\r
2840     -0.803204f, -0.449996f, 0.390343f,\r
2841     -0.697513f, -0.613444f, 0.370354f,\r
2842     -0.588462f, -0.732277f, 0.342757f,\r
2843     -0.485206f, -0.813008f, 0.321860f,\r
2844     -0.425879f, -0.823534f, 0.374725f,\r
2845     -0.965787f, -0.259335f, 0.000592f,\r
2846     -0.872611f, -0.488406f, 0.003010f,\r
2847     -0.748651f, -0.662945f, 0.005037f,\r
2848     -0.622443f, -0.782648f, 0.005056f,\r
2849     -0.509112f, -0.860697f, 0.002551f,\r
2850     -0.455515f, -0.889038f, 0.046023f,\r
2851     -0.888605f, -0.232245f, -0.395529f,\r
2852     -0.809378f, -0.443445f, -0.385051f,\r
2853     -0.704052f, -0.611598f, -0.360913f,\r
2854     -0.592713f, -0.733528f, -0.332607f,\r
2855     -0.486334f, -0.814293f, -0.316868f,\r
2856     -0.441890f, -0.860789f, -0.252538f,\r
2857     -0.574477f, -0.139332f, -0.806575f,\r
2858     -0.532235f, -0.275661f, -0.800460f,\r
2859     -0.480844f, -0.396171f, -0.782201f,\r
2860     -0.423172f, -0.499323f, -0.756044f,\r
2861     -0.355443f, -0.574187f, -0.737543f,\r
2862     -0.348424f, -0.670745f, -0.654753f,\r
2863     -0.001891f, 0.012937f, -0.999915f,\r
2864     0.001397f, 0.011921f, -0.999928f,\r
2865     0.005089f, 0.014178f, -0.999887f,\r
2866     0.004896f, 0.016722f, -0.999848f,\r
2867     -0.002003f, 0.012285f, -0.999922f,\r
2868     -0.068183f, -0.130578f, -0.989091f,\r
2869     0.573387f, 0.149188f, -0.805587f,\r
2870     0.541227f, 0.266714f, -0.797456f,\r
2871     0.503525f, 0.377270f, -0.777258f,\r
2872     0.451452f, 0.484144f, -0.749530f,\r
2873     0.372386f, 0.571022f, -0.731616f,\r
2874     0.289707f, 0.529053f, -0.797604f,\r
2875     0.892654f, 0.216131f, -0.395546f,\r
2876     0.837234f, 0.384836f, -0.388510f,\r
2877     0.763231f, 0.531640f, -0.367202f,\r
2878     0.665469f, 0.666102f, -0.336837f,\r
2879     0.537995f, 0.781974f, -0.314766f,\r
2880     0.455324f, 0.810920f, -0.367545f,\r
2881     -0.145927f, 0.987044f, 0.066705f,\r
2882     -0.350253f, 0.936641f, -0.005157f,\r
2883     -0.710995f, 0.703191f, -0.003047f,\r
2884     -0.899400f, 0.437101f, 0.004678f,\r
2885     -0.930238f, 0.366579f, 0.016656f,\r
2886     -0.845840f, 0.533040f, 0.020564f,\r
2887     -0.646372f, 0.763018f, 0.002776f,\r
2888     -0.128906f, 0.841567f, 0.524546f,\r
2889     -0.292019f, 0.852082f, 0.434375f,\r
2890     -0.615355f, 0.675119f, 0.406882f,\r
2891     -0.799678f, 0.453205f, 0.393853f,\r
2892     -0.814130f, 0.384381f, 0.435251f,\r
2893     -0.711742f, 0.496654f, 0.496746f,\r
2894     -0.538718f, 0.683956f, 0.491922f,\r
2895     -0.054328f, 0.445430f, 0.893667f,\r
2896     -0.120328f, 0.535740f, 0.835765f,\r
2897     -0.285367f, 0.495269f, 0.820533f,\r
2898     -0.427214f, 0.405516f, 0.808112f,\r
2899     -0.455262f, 0.354182f, 0.816880f,\r
2900     -0.386518f, 0.375163f, 0.842530f,\r
2901     -0.289150f, 0.468105f, 0.835027f,\r
2902     0.075157f, -0.092491f, 0.992873f,\r
2903     0.130249f, 0.040179f, 0.990667f,\r
2904     0.205304f, 0.124938f, 0.970691f,\r
2905     0.176764f, 0.184322f, 0.966840f,\r
2906     0.082193f, 0.182483f, 0.979767f,\r
2907     0.009842f, 0.124532f, 0.992167f,\r
2908     -0.004171f, 0.105296f, 0.994432f,\r
2909     0.213849f, -0.587755f, 0.780264f,\r
2910     0.361728f, -0.447069f, 0.818097f,\r
2911     0.601635f, -0.258541f, 0.755772f,\r
2912     0.672221f, -0.099063f, 0.733693f,\r
2913     0.583247f, -0.084870f, 0.807849f,\r
2914     0.409251f, -0.235708f, 0.881451f,\r
2915     0.284284f, -0.385654f, 0.877755f,\r
2916     0.302637f, -0.880762f, 0.364237f,\r
2917     0.496428f, -0.756105f, 0.426456f,\r
2918     0.790450f, -0.487110f, 0.371365f,\r
2919     0.895860f, -0.277360f, 0.347141f,\r
2920     0.865262f, -0.295907f, 0.404673f,\r
2921     0.690272f, -0.542643f, 0.478606f,\r
2922     0.467747f, -0.753579f, 0.461879f,\r
2923     0.321563f, -0.944505f, -0.067141f,\r
2924     0.531566f, -0.847002f, 0.005046f,\r
2925     0.833505f, -0.552508f, 0.002163f,\r
2926     0.944185f, -0.329343f, -0.006880f,\r
2927     0.932318f, -0.361245f, -0.016874f,\r
2928     0.768639f, -0.639601f, -0.010215f,\r
2929     0.513002f, -0.858387f, 0.000964f,\r
2930     0.278331f, -0.809595f, -0.516806f,\r
2931     0.491568f, -0.763636f, -0.418594f,\r
2932     0.788478f, -0.493107f, -0.367624f,\r
2933     0.891089f, -0.275271f, -0.360815f,\r
2934     0.856479f, -0.282922f, -0.431739f,\r
2935     0.692218f, -0.527331f, -0.492704f,\r
2936     0.473487f, -0.749262f, -0.463052f,\r
2937     0.166654f, -0.429938f, -0.887344f,\r
2938     0.339768f, -0.458348f, -0.821264f,\r
2939     0.590160f, -0.276240f, -0.758553f,\r
2940     0.668115f, -0.103914f, -0.736766f,\r
2941     0.590009f, -0.076740f, -0.803741f,\r
2942     0.433287f, -0.219357f, -0.874154f,\r
2943     0.299036f, -0.368898f, -0.880052f,\r
2944     0.027869f, 0.102187f, -0.994375f,\r
2945     0.088152f, 0.031815f, -0.995599f,\r
2946     0.174456f, 0.096185f, -0.979956f,\r
2947     0.188708f, 0.161291f, -0.968697f,\r
2948     0.127686f, 0.175774f, -0.976115f,\r
2949     0.054509f, 0.130986f, -0.989885f,\r
2950     0.015877f, 0.116730f, -0.993037f,\r
2951     -0.081072f, 0.607187f, -0.790412f,\r
2952     -0.164116f, 0.522469f, -0.836715f,\r
2953     -0.319626f, 0.463405f, -0.826495f,\r
2954     -0.422971f, 0.383450f, -0.821013f,\r
2955     -0.424534f, 0.353597f, -0.833511f,\r
2956     -0.351612f, 0.388106f, -0.851905f,\r
2957     -0.270475f, 0.475063f, -0.837352f,\r
2958     -0.133739f, 0.917541f, -0.374476f,\r
2959     -0.316043f, 0.839490f, -0.442011f,\r
2960     -0.631181f, 0.656649f, -0.412823f,\r
2961     -0.807405f, 0.443017f, -0.389658f,\r
2962     -0.821659f, 0.386229f, -0.419171f,\r
2963     -0.707748f, 0.517393f, -0.481037f,\r
2964     -0.526814f, 0.693790f, -0.491043f,\r
2965     -0.461017f, 0.887371f, -0.005987f,\r
2966     -0.290675f, 0.956710f, -0.014601f,\r
2967     0.085518f, 0.995086f, -0.049913f,\r
2968     0.887713f, 0.456166f, -0.062285f,\r
2969     0.822992f, -0.567263f, 0.029937f,\r
2970     0.659878f, -0.743158f, 0.110798f,\r
2971     -0.391094f, 0.831360f, 0.394824f,\r
2972     -0.253310f, 0.936825f, 0.241231f,\r
2973     0.015366f, 0.995010f, -0.098588f,\r
2974     0.520185f, 0.549881f, -0.653482f,\r
2975     0.628856f, -0.382376f, -0.677000f,\r
2976     0.578948f, -0.646092f, -0.497378f,\r
2977     -0.223422f, 0.660928f, 0.716420f,\r
2978     -0.156131f, 0.874986f, 0.458282f,\r
2979     -0.036467f, 0.998264f, -0.046261f,\r
2980     0.156637f, 0.682491f, -0.713913f,\r
2981     0.263632f, 0.005571f, -0.964607f,\r
2982     0.312409f, -0.324778f, -0.892704f,\r
2983     -0.001751f, 0.339383f, 0.940647f,\r
2984     -0.021119f, 0.759902f, 0.649695f,\r
2985     -0.044404f, 0.998121f, 0.042219f,\r
2986     -0.032529f, 0.802862f, -0.595277f,\r
2987     -0.008745f, 0.371564f, -0.928366f,\r
2988     0.042529f, 0.077913f, -0.996053f,\r
2989     0.280020f, -0.238192f, 0.929975f,\r
2990     0.227305f, 0.491486f, 0.840699f,\r
2991     -0.003105f, 0.987407f, 0.158172f,\r
2992     -0.143918f, 0.895866f, -0.420370f,\r
2993     -0.200177f, 0.683872f, -0.701604f,\r
2994     -0.187188f, 0.500198f, -0.845437f,\r
2995     0.453673f, -0.746835f, 0.486229f,\r
2996     0.692158f, -0.080062f, 0.717291f,\r
2997     0.185758f, 0.942536f, 0.277704f,\r
2998     -0.211188f, 0.955274f, -0.207004f,\r
2999     -0.312961f, 0.881061f, -0.354665f,\r
3000     -0.336331f, 0.811345f, -0.478122f,\r
3001     0.482445f, -0.875816f, -0.013906f,\r
3002     0.913013f, -0.405572f, -0.043811f,\r
3003     0.506909f, 0.853920f, 0.117742f,\r
3004     -0.234033f, 0.972124f, 0.014295f,\r
3005     -0.348033f, 0.937468f, 0.005277f,\r
3006     -0.384064f, 0.921073f, -0.064185f,\r
3007     0.457762f, -0.717668f, -0.524792f,\r
3008     0.683347f, -0.063014f, -0.727369f,\r
3009     0.357361f, 0.898186f, -0.256038f,\r
3010     -0.207010f, 0.947863f, 0.242287f,\r
3011     -0.314387f, 0.872357f, 0.374372f,\r
3012     -0.361040f, 0.872819f, 0.328385f,\r
3013     0.280225f, -0.218552f, -0.934724f,\r
3014     0.261124f, 0.434074f, -0.862203f,\r
3015     0.060553f, 0.978577f, -0.196775f,\r
3016     -0.131809f, 0.881094f, 0.454203f,\r
3017     -0.195016f, 0.658858f, 0.726550f,\r
3018     -0.247824f, 0.630359f, 0.735684f,\r
3019     0.008860f, 0.321862f, -0.946745f,\r
3020     0.001382f, 0.733189f, -0.680023f,\r
3021     -0.012720f, 0.997949f, -0.062734f,\r
3022     -0.011656f, 0.785221f, 0.619106f,\r
3023     0.000967f, 0.344022f, 0.938961f,\r
3024     -0.037360f, 0.214324f, 0.976048f,\r
3025     -0.213360f, 0.648838f, -0.730401f,\r
3026     -0.140052f, 0.865891f, -0.480227f,\r
3027     -0.000809f, 0.999500f, 0.031611f,\r
3028     0.194529f, 0.659081f, 0.726478f,\r
3029     0.266832f, -0.005234f, 0.963729f,\r
3030     0.219380f, -0.217247f, 0.951145f,\r
3031     -0.384886f, 0.827121f, -0.409553f,\r
3032     -0.240915f, 0.932642f, -0.268588f,\r
3033     0.065830f, 0.996786f, 0.045658f,\r
3034     0.597011f, 0.507703f, 0.621141f,\r
3035     0.613004f, -0.369418f, 0.698395f,\r
3036     0.486873f, -0.566787f, 0.664610f,\r
3037     0.000000f, 1.000000f, 0.000000f,\r
3038     0.395791f, 0.918207f, 0.015676f,\r
3039     0.964544f, 0.263762f, 0.009177f,\r
3040     0.839041f, -0.544056f, -0.003654f,\r
3041     0.788969f, -0.614430f, 0.001943f,\r
3042     0.991025f, -0.133647f, 0.002953f,\r
3043     0.732531f, 0.680606f, -0.013206f,\r
3044     0.377669f, 0.918491f, 0.117221f,\r
3045     0.929557f, 0.263662f, 0.257694f,\r
3046     0.811158f, -0.544801f, 0.212638f,\r
3047     0.761156f, -0.615195f, 0.205370f,\r
3048     0.956515f, -0.133833f, 0.259168f,\r
3049     0.710689f, 0.680955f, 0.176694f,\r
3050     0.333696f, 0.918791f, 0.210878f,\r
3051     0.830713f, 0.263784f, 0.490239f,\r
3052     0.727549f, -0.545809f, 0.415650f,\r
3053     0.681011f, -0.616288f, 0.395491f,\r
3054     0.856413f, -0.134443f, 0.498480f,\r
3055     0.640176f, 0.681271f, 0.355027f,\r
3056     0.267591f, 0.918878f, 0.289928f,\r
3057     0.675416f, 0.263955f, 0.688579f,\r
3058     0.594970f, -0.546203f, 0.589638f,\r
3059     0.555330f, -0.616730f, 0.557901f,\r
3060     0.698694f, -0.134804f, 0.702606f,\r
3061     0.526898f, 0.681345f, 0.508082f,\r
3062     0.183499f, 0.918711f, 0.349712f,\r
3063     0.474031f, 0.264098f, 0.839969f,\r
3064     0.422194f, -0.545768f, 0.723802f,\r
3065     0.392296f, -0.616276f, 0.682867f,\r
3066     0.493598f, -0.134679f, 0.859199f,\r
3067     0.378184f, 0.681197f, 0.626856f,\r
3068     0.086498f, 0.918378f, 0.386136f,\r
3069     0.239605f, 0.264096f, 0.934261f,\r
3070     0.219887f, -0.544743f, 0.809262f,\r
3071     0.201667f, -0.615183f, 0.762155f,\r
3072     0.253529f, -0.134173f, 0.957977f,\r
3073     0.202631f, 0.680866f, 0.703820f,\r
3074     -0.015676f, 0.918207f, 0.395791f,\r
3075     -0.009177f, 0.263762f, 0.964544f,\r
3076     0.003654f, -0.544057f, 0.839041f,\r
3077     -0.001943f, -0.614430f, 0.788969f,\r
3078     -0.002953f, -0.133647f, 0.991025f,\r
3079     0.013206f, 0.680606f, 0.732531f,\r
3080     -0.117221f, 0.918491f, 0.377669f,\r
3081     -0.257694f, 0.263662f, 0.929557f,\r
3082     -0.212638f, -0.544801f, 0.811158f,\r
3083     -0.205370f, -0.615195f, 0.761156f,\r
3084     -0.259168f, -0.133833f, 0.956515f,\r
3085     -0.176694f, 0.680955f, 0.710689f,\r
3086     -0.210878f, 0.918791f, 0.333696f,\r
3087     -0.490239f, 0.263784f, 0.830713f,\r
3088     -0.415650f, -0.545809f, 0.727549f,\r
3089     -0.395491f, -0.616288f, 0.681011f,\r
3090     -0.498480f, -0.134443f, 0.856413f,\r
3091     -0.355027f, 0.681271f, 0.640176f,\r
3092     -0.289928f, 0.918878f, 0.267591f,\r
3093     -0.688579f, 0.263955f, 0.675416f,\r
3094     -0.589638f, -0.546203f, 0.594970f,\r
3095     -0.557901f, -0.616730f, 0.555330f,\r
3096     -0.702606f, -0.134804f, 0.698694f,\r
3097     -0.508082f, 0.681345f, 0.526898f,\r
3098     -0.349712f, 0.918711f, 0.183499f,\r
3099     -0.839969f, 0.264098f, 0.474031f,\r
3100     -0.723802f, -0.545768f, 0.422194f,\r
3101     -0.682867f, -0.616276f, 0.392296f,\r
3102     -0.859199f, -0.134679f, 0.493598f,\r
3103     -0.626856f, 0.681197f, 0.378184f,\r
3104     -0.386136f, 0.918378f, 0.086498f,\r
3105     -0.934261f, 0.264096f, 0.239605f,\r
3106     -0.809262f, -0.544743f, 0.219887f,\r
3107     -0.762155f, -0.615183f, 0.201667f,\r
3108     -0.957977f, -0.134173f, 0.253529f,\r
3109     -0.703820f, 0.680866f, 0.202631f,\r
3110     -0.395791f, 0.918207f, -0.015676f,\r
3111     -0.964544f, 0.263762f, -0.009177f,\r
3112     -0.839041f, -0.544057f, 0.003654f,\r
3113     -0.788969f, -0.614430f, -0.001943f,\r
3114     -0.991025f, -0.133647f, -0.002953f,\r
3115     -0.732531f, 0.680606f, 0.013206f,\r
3116     -0.377669f, 0.918491f, -0.117221f,\r
3117     -0.929557f, 0.263662f, -0.257694f,\r
3118     -0.811158f, -0.544801f, -0.212638f,\r
3119     -0.761156f, -0.615195f, -0.205370f,\r
3120     -0.956515f, -0.133833f, -0.259168f,\r
3121     -0.710689f, 0.680955f, -0.176694f,\r
3122     -0.333696f, 0.918791f, -0.210878f,\r
3123     -0.830713f, 0.263784f, -0.490239f,\r
3124     -0.727549f, -0.545809f, -0.415650f,\r
3125     -0.681011f, -0.616288f, -0.395491f,\r
3126     -0.856413f, -0.134443f, -0.498480f,\r
3127     -0.640176f, 0.681271f, -0.355027f,\r
3128     -0.267591f, 0.918878f, -0.289928f,\r
3129     -0.675416f, 0.263955f, -0.688579f,\r
3130     -0.594970f, -0.546203f, -0.589638f,\r
3131     -0.555330f, -0.616730f, -0.557901f,\r
3132     -0.698694f, -0.134804f, -0.702606f,\r
3133     -0.526898f, 0.681345f, -0.508082f,\r
3134     -0.183499f, 0.918711f, -0.349712f,\r
3135     -0.474031f, 0.264098f, -0.839969f,\r
3136     -0.422194f, -0.545768f, -0.723802f,\r
3137     -0.392296f, -0.616276f, -0.682867f,\r
3138     -0.493598f, -0.134679f, -0.859199f,\r
3139     -0.378184f, 0.681197f, -0.626856f,\r
3140     -0.086498f, 0.918378f, -0.386136f,\r
3141     -0.239605f, 0.264096f, -0.934261f,\r
3142     -0.219887f, -0.544743f, -0.809262f,\r
3143     -0.201667f, -0.615183f, -0.762155f,\r
3144     -0.253529f, -0.134173f, -0.957977f,\r
3145     -0.202631f, 0.680866f, -0.703820f,\r
3146     0.015676f, 0.918207f, -0.395791f,\r
3147     0.009177f, 0.263762f, -0.964544f,\r
3148     -0.003654f, -0.544057f, -0.839041f,\r
3149     0.001943f, -0.614430f, -0.788969f,\r
3150     0.002953f, -0.133647f, -0.991025f,\r
3151     -0.013206f, 0.680606f, -0.732531f,\r
3152     0.117221f, 0.918491f, -0.377669f,\r
3153     0.257694f, 0.263662f, -0.929557f,\r
3154     0.212638f, -0.544801f, -0.811158f,\r
3155     0.205370f, -0.615195f, -0.761156f,\r
3156     0.259168f, -0.133833f, -0.956515f,\r
3157     0.176694f, 0.680955f, -0.710689f,\r
3158     0.210878f, 0.918791f, -0.333696f,\r
3159     0.490239f, 0.263784f, -0.830713f,\r
3160     0.415650f, -0.545809f, -0.727549f,\r
3161     0.395491f, -0.616288f, -0.681011f,\r
3162     0.498480f, -0.134443f, -0.856413f,\r
3163     0.355027f, 0.681271f, -0.640176f,\r
3164     0.289928f, 0.918878f, -0.267591f,\r
3165     0.688579f, 0.263955f, -0.675416f,\r
3166     0.589638f, -0.546203f, -0.594970f,\r
3167     0.557901f, -0.616730f, -0.555330f,\r
3168     0.702606f, -0.134804f, -0.698694f,\r
3169     0.508082f, 0.681345f, -0.526898f,\r
3170     0.349712f, 0.918711f, -0.183499f,\r
3171     0.839969f, 0.264098f, -0.474031f,\r
3172     0.723802f, -0.545768f, -0.422194f,\r
3173     0.682867f, -0.616276f, -0.392296f,\r
3174     0.859199f, -0.134679f, -0.493598f,\r
3175     0.626856f, 0.681197f, -0.378184f,\r
3176     0.386136f, 0.918378f, -0.086498f,\r
3177     0.934261f, 0.264096f, -0.239605f,\r
3178     0.809262f, -0.544743f, -0.219887f,\r
3179     0.762155f, -0.615183f, -0.201667f,\r
3180     0.957977f, -0.134173f, -0.253529f,\r
3181     0.703820f, 0.680866f, -0.202631f,\r
3182     0.299763f, 0.954005f, -0.004004f,\r
3183     0.180158f, 0.983637f, -0.001176f,\r
3184     0.158462f, 0.987365f, 0.000232f,\r
3185     0.213709f, 0.976895f, 0.002171f,\r
3186     0.489301f, 0.872063f, 0.009504f,\r
3187     0.686607f, 0.726410f, -0.029990f,\r
3188     0.290238f, 0.954117f, 0.073644f,\r
3189     0.174086f, 0.983681f, 0.045452f,\r
3190     0.152777f, 0.987401f, 0.041212f,\r
3191     0.205547f, 0.976963f, 0.057393f,\r
3192     0.469598f, 0.872357f, 0.135911f,\r
3193     0.670656f, 0.726754f, 0.148493f,\r
3194     0.260698f, 0.954280f, 0.146242f,\r
3195     0.156021f, 0.983742f, 0.088932f,\r
3196     0.136587f, 0.987448f, 0.079312f,\r
3197     0.183282f, 0.977046f, 0.108577f,\r
3198     0.417739f, 0.872696f, 0.252776f,\r
3199     0.608331f, 0.727460f, 0.317389f,\r
3200     0.214008f, 0.954348f, 0.208377f,\r
3201     0.127716f, 0.983767f, 0.126063f,\r
3202     0.111442f, 0.987466f, 0.111767f,\r
3203     0.149005f, 0.977076f, 0.152056f,\r
3204     0.338347f, 0.872812f, 0.351738f,\r
3205     0.505565f, 0.727811f, 0.463351f,\r
3206     0.153158f, 0.954293f, 0.256647f,\r
3207     0.090962f, 0.983745f, 0.154830f,\r
3208     0.078913f, 0.987448f, 0.136822f,\r
3209     0.104831f, 0.977040f, 0.185479f,\r
3210     0.236319f, 0.872663f, 0.427333f,\r
3211     0.369272f, 0.727651f, 0.578067f,\r
3212     0.081449f, 0.954136f, 0.288080f,\r
3213     0.047744f, 0.983685f, 0.173450f,\r
3214     0.040760f, 0.987400f, 0.152903f,\r
3215     0.053164f, 0.976955f, 0.206721f,\r
3216     0.117360f, 0.872307f, 0.474665f,\r
3217     0.207008f, 0.727038f, 0.654648f,\r
3218     0.004004f, 0.954005f, 0.299763f,\r
3219     0.001176f, 0.983637f, 0.180158f,\r
3220     -0.000232f, 0.987365f, 0.158462f,\r
3221     -0.002171f, 0.976895f, 0.213709f,\r
3222     -0.009504f, 0.872063f, 0.489301f,\r
3223     0.029990f, 0.726410f, 0.686607f,\r
3224     -0.073644f, 0.954117f, 0.290238f,\r
3225     -0.045452f, 0.983681f, 0.174086f,\r
3226     -0.041212f, 0.987401f, 0.152777f,\r
3227     -0.057393f, 0.976963f, 0.205547f,\r
3228     -0.135911f, 0.872357f, 0.469598f,\r
3229     -0.148493f, 0.726754f, 0.670656f,\r
3230     -0.146242f, 0.954280f, 0.260698f,\r
3231     -0.088932f, 0.983742f, 0.156021f,\r
3232     -0.079312f, 0.987448f, 0.136587f,\r
3233     -0.108577f, 0.977046f, 0.183282f,\r
3234     -0.252776f, 0.872696f, 0.417739f,\r
3235     -0.317389f, 0.727460f, 0.608331f,\r
3236     -0.208377f, 0.954348f, 0.214008f,\r
3237     -0.126063f, 0.983767f, 0.127716f,\r
3238     -0.111767f, 0.987466f, 0.111442f,\r
3239     -0.152056f, 0.977076f, 0.149005f,\r
3240     -0.351738f, 0.872812f, 0.338347f,\r
3241     -0.463351f, 0.727811f, 0.505565f,\r
3242     -0.256647f, 0.954293f, 0.153158f,\r
3243     -0.154830f, 0.983745f, 0.090962f,\r
3244     -0.136822f, 0.987448f, 0.078913f,\r
3245     -0.185479f, 0.977040f, 0.104831f,\r
3246     -0.427333f, 0.872663f, 0.236319f,\r
3247     -0.578067f, 0.727651f, 0.369272f,\r
3248     -0.288080f, 0.954136f, 0.081449f,\r
3249     -0.173450f, 0.983685f, 0.047744f,\r
3250     -0.152903f, 0.987400f, 0.040760f,\r
3251     -0.206721f, 0.976955f, 0.053164f,\r
3252     -0.474665f, 0.872307f, 0.117360f,\r
3253     -0.654648f, 0.727038f, 0.207008f,\r
3254     -0.299763f, 0.954005f, 0.004004f,\r
3255     -0.180158f, 0.983637f, 0.001176f,\r
3256     -0.158462f, 0.987365f, -0.000232f,\r
3257     -0.213709f, 0.976895f, -0.002171f,\r
3258     -0.489301f, 0.872063f, -0.009504f,\r
3259     -0.686607f, 0.726410f, 0.029990f,\r
3260     -0.290238f, 0.954117f, -0.073644f,\r
3261     -0.174086f, 0.983681f, -0.045452f,\r
3262     -0.152777f, 0.987401f, -0.041212f,\r
3263     -0.205547f, 0.976963f, -0.057393f,\r
3264     -0.469598f, 0.872357f, -0.135911f,\r
3265     -0.670656f, 0.726754f, -0.148493f,\r
3266     -0.260698f, 0.954280f, -0.146242f,\r
3267     -0.156021f, 0.983742f, -0.088932f,\r
3268     -0.136587f, 0.987448f, -0.079312f,\r
3269     -0.183282f, 0.977046f, -0.108577f,\r
3270     -0.417739f, 0.872696f, -0.252776f,\r
3271     -0.608331f, 0.727460f, -0.317389f,\r
3272     -0.214008f, 0.954348f, -0.208377f,\r
3273     -0.127716f, 0.983767f, -0.126063f,\r
3274     -0.111442f, 0.987466f, -0.111767f,\r
3275     -0.149005f, 0.977076f, -0.152056f,\r
3276     -0.338347f, 0.872812f, -0.351738f,\r
3277     -0.505565f, 0.727811f, -0.463351f,\r
3278     -0.153158f, 0.954293f, -0.256647f,\r
3279     -0.090962f, 0.983745f, -0.154830f,\r
3280     -0.078913f, 0.987448f, -0.136822f,\r
3281     -0.104831f, 0.977040f, -0.185479f,\r
3282     -0.236319f, 0.872663f, -0.427333f,\r
3283     -0.369272f, 0.727651f, -0.578067f,\r
3284     -0.081449f, 0.954136f, -0.288080f,\r
3285     -0.047744f, 0.983685f, -0.173450f,\r
3286     -0.040760f, 0.987400f, -0.152903f,\r
3287     -0.053164f, 0.976955f, -0.206721f,\r
3288     -0.117360f, 0.872307f, -0.474665f,\r
3289     -0.207008f, 0.727038f, -0.654648f,\r
3290     -0.004004f, 0.954005f, -0.299763f,\r
3291     -0.001176f, 0.983637f, -0.180158f,\r
3292     0.000232f, 0.987365f, -0.158462f,\r
3293     0.002171f, 0.976895f, -0.213709f,\r
3294     0.009504f, 0.872063f, -0.489301f,\r
3295     -0.029990f, 0.726410f, -0.686607f,\r
3296     0.073644f, 0.954117f, -0.290238f,\r
3297     0.045452f, 0.983681f, -0.174086f,\r
3298     0.041212f, 0.987401f, -0.152777f,\r
3299     0.057393f, 0.976963f, -0.205547f,\r
3300     0.135911f, 0.872357f, -0.469598f,\r
3301     0.148493f, 0.726754f, -0.670656f,\r
3302     0.146242f, 0.954280f, -0.260698f,\r
3303     0.088932f, 0.983742f, -0.156021f,\r
3304     0.079312f, 0.987448f, -0.136587f,\r
3305     0.108577f, 0.977046f, -0.183282f,\r
3306     0.252776f, 0.872696f, -0.417739f,\r
3307     0.317389f, 0.727460f, -0.608331f,\r
3308     0.208377f, 0.954348f, -0.214008f,\r
3309     0.126063f, 0.983767f, -0.127716f,\r
3310     0.111767f, 0.987466f, -0.111442f,\r
3311     0.152056f, 0.977076f, -0.149005f,\r
3312     0.351738f, 0.872812f, -0.338347f,\r
3313     0.463351f, 0.727811f, -0.505565f,\r
3314     0.256647f, 0.954293f, -0.153158f,\r
3315     0.154830f, 0.983745f, -0.090962f,\r
3316     0.136822f, 0.987448f, -0.078913f,\r
3317     0.185479f, 0.977040f, -0.104831f,\r
3318     0.427333f, 0.872663f, -0.236319f,\r
3319     0.578067f, 0.727651f, -0.369272f,\r
3320     0.288080f, 0.954136f, -0.081449f,\r
3321     0.173450f, 0.983685f, -0.047744f,\r
3322     0.152903f, 0.987400f, -0.040760f,\r
3323     0.206721f, 0.976955f, -0.053164f,\r
3324     0.474665f, 0.872307f, -0.117360f,\r
3325     0.654648f, 0.727038f, -0.207008f,\r
3326 };\r
3327 static D3DXVECTOR3* teapotNormals = ( D3DXVECTOR3* )teapotNormalsfloats;\r
3328 \r
3329 static WORD teapotIndices[NUMTEAPOTINDICES] =\r
3330 {\r
3331     0, 7, 8,\r
3332     8, 1, 0,\r
3333     1, 8, 9,\r
3334     9, 2, 1,\r
3335     2, 9, 10,\r
3336     10, 3, 2,\r
3337     3, 10, 11,\r
3338     11, 4, 3,\r
3339     4, 11, 12,\r
3340     12, 5, 4,\r
3341     5, 12, 13,\r
3342     13, 6, 5,\r
3343     7, 14, 15,\r
3344     15, 8, 7,\r
3345     8, 15, 16,\r
3346     16, 9, 8,\r
3347     9, 16, 17,\r
3348     17, 10, 9,\r
3349     10, 17, 18,\r
3350     18, 11, 10,\r
3351     11, 18, 19,\r
3352     19, 12, 11,\r
3353     12, 19, 20,\r
3354     20, 13, 12,\r
3355     14, 21, 22,\r
3356     22, 15, 14,\r
3357     15, 22, 23,\r
3358     23, 16, 15,\r
3359     16, 23, 24,\r
3360     24, 17, 16,\r
3361     17, 24, 25,\r
3362     25, 18, 17,\r
3363     18, 25, 26,\r
3364     26, 19, 18,\r
3365     19, 26, 27,\r
3366     27, 20, 19,\r
3367     21, 28, 29,\r
3368     29, 22, 21,\r
3369     22, 29, 30,\r
3370     30, 23, 22,\r
3371     23, 30, 31,\r
3372     31, 24, 23,\r
3373     24, 31, 32,\r
3374     32, 25, 24,\r
3375     25, 32, 33,\r
3376     33, 26, 25,\r
3377     26, 33, 34,\r
3378     34, 27, 26,\r
3379     28, 35, 36,\r
3380     36, 29, 28,\r
3381     29, 36, 37,\r
3382     37, 30, 29,\r
3383     30, 37, 38,\r
3384     38, 31, 30,\r
3385     31, 38, 39,\r
3386     39, 32, 31,\r
3387     32, 39, 40,\r
3388     40, 33, 32,\r
3389     33, 40, 41,\r
3390     41, 34, 33,\r
3391     35, 42, 43,\r
3392     43, 36, 35,\r
3393     36, 43, 44,\r
3394     44, 37, 36,\r
3395     37, 44, 45,\r
3396     45, 38, 37,\r
3397     38, 45, 46,\r
3398     46, 39, 38,\r
3399     39, 46, 47,\r
3400     47, 40, 39,\r
3401     40, 47, 48,\r
3402     48, 41, 40,\r
3403     42, 49, 50,\r
3404     50, 43, 42,\r
3405     43, 50, 51,\r
3406     51, 44, 43,\r
3407     44, 51, 52,\r
3408     52, 45, 44,\r
3409     45, 52, 53,\r
3410     53, 46, 45,\r
3411     46, 53, 54,\r
3412     54, 47, 46,\r
3413     47, 54, 55,\r
3414     55, 48, 47,\r
3415     49, 56, 57,\r
3416     57, 50, 49,\r
3417     50, 57, 58,\r
3418     58, 51, 50,\r
3419     51, 58, 59,\r
3420     59, 52, 51,\r
3421     52, 59, 60,\r
3422     60, 53, 52,\r
3423     53, 60, 61,\r
3424     61, 54, 53,\r
3425     54, 61, 62,\r
3426     62, 55, 54,\r
3427     56, 63, 64,\r
3428     64, 57, 56,\r
3429     57, 64, 65,\r
3430     65, 58, 57,\r
3431     58, 65, 66,\r
3432     66, 59, 58,\r
3433     59, 66, 67,\r
3434     67, 60, 59,\r
3435     60, 67, 68,\r
3436     68, 61, 60,\r
3437     61, 68, 69,\r
3438     69, 62, 61,\r
3439     63, 70, 71,\r
3440     71, 64, 63,\r
3441     64, 71, 72,\r
3442     72, 65, 64,\r
3443     65, 72, 73,\r
3444     73, 66, 65,\r
3445     66, 73, 74,\r
3446     74, 67, 66,\r
3447     67, 74, 75,\r
3448     75, 68, 67,\r
3449     68, 75, 76,\r
3450     76, 69, 68,\r
3451     70, 77, 78,\r
3452     78, 71, 70,\r
3453     71, 78, 79,\r
3454     79, 72, 71,\r
3455     72, 79, 80,\r
3456     80, 73, 72,\r
3457     73, 80, 81,\r
3458     81, 74, 73,\r
3459     74, 81, 82,\r
3460     82, 75, 74,\r
3461     75, 82, 83,\r
3462     83, 76, 75,\r
3463     77, 84, 85,\r
3464     85, 78, 77,\r
3465     78, 85, 86,\r
3466     86, 79, 78,\r
3467     79, 86, 87,\r
3468     87, 80, 79,\r
3469     80, 87, 88,\r
3470     88, 81, 80,\r
3471     81, 88, 89,\r
3472     89, 82, 81,\r
3473     82, 89, 90,\r
3474     90, 83, 82,\r
3475     84, 91, 92,\r
3476     92, 85, 84,\r
3477     85, 92, 93,\r
3478     93, 86, 85,\r
3479     86, 93, 94,\r
3480     94, 87, 86,\r
3481     87, 94, 95,\r
3482     95, 88, 87,\r
3483     88, 95, 96,\r
3484     96, 89, 88,\r
3485     89, 96, 97,\r
3486     97, 90, 89,\r
3487     91, 98, 99,\r
3488     99, 92, 91,\r
3489     92, 99, 100,\r
3490     100, 93, 92,\r
3491     93, 100, 101,\r
3492     101, 94, 93,\r
3493     94, 101, 102,\r
3494     102, 95, 94,\r
3495     95, 102, 103,\r
3496     103, 96, 95,\r
3497     96, 103, 104,\r
3498     104, 97, 96,\r
3499     98, 105, 106,\r
3500     106, 99, 98,\r
3501     99, 106, 107,\r
3502     107, 100, 99,\r
3503     100, 107, 108,\r
3504     108, 101, 100,\r
3505     101, 108, 109,\r
3506     109, 102, 101,\r
3507     102, 109, 110,\r
3508     110, 103, 102,\r
3509     103, 110, 111,\r
3510     111, 104, 103,\r
3511     105, 112, 113,\r
3512     113, 106, 105,\r
3513     106, 113, 114,\r
3514     114, 107, 106,\r
3515     107, 114, 115,\r
3516     115, 108, 107,\r
3517     108, 115, 116,\r
3518     116, 109, 108,\r
3519     109, 116, 117,\r
3520     117, 110, 109,\r
3521     110, 117, 118,\r
3522     118, 111, 110,\r
3523     112, 119, 120,\r
3524     120, 113, 112,\r
3525     113, 120, 121,\r
3526     121, 114, 113,\r
3527     114, 121, 122,\r
3528     122, 115, 114,\r
3529     115, 122, 123,\r
3530     123, 116, 115,\r
3531     116, 123, 124,\r
3532     124, 117, 116,\r
3533     117, 124, 125,\r
3534     125, 118, 117,\r
3535     119, 126, 127,\r
3536     127, 120, 119,\r
3537     120, 127, 128,\r
3538     128, 121, 120,\r
3539     121, 128, 129,\r
3540     129, 122, 121,\r
3541     122, 129, 130,\r
3542     130, 123, 122,\r
3543     123, 130, 131,\r
3544     131, 124, 123,\r
3545     124, 131, 132,\r
3546     132, 125, 124,\r
3547     126, 133, 134,\r
3548     134, 127, 126,\r
3549     127, 134, 135,\r
3550     135, 128, 127,\r
3551     128, 135, 136,\r
3552     136, 129, 128,\r
3553     129, 136, 137,\r
3554     137, 130, 129,\r
3555     130, 137, 138,\r
3556     138, 131, 130,\r
3557     131, 138, 139,\r
3558     139, 132, 131,\r
3559     133, 140, 141,\r
3560     141, 134, 133,\r
3561     134, 141, 142,\r
3562     142, 135, 134,\r
3563     135, 142, 143,\r
3564     143, 136, 135,\r
3565     136, 143, 144,\r
3566     144, 137, 136,\r
3567     137, 144, 145,\r
3568     145, 138, 137,\r
3569     138, 145, 146,\r
3570     146, 139, 138,\r
3571     140, 147, 148,\r
3572     148, 141, 140,\r
3573     141, 148, 149,\r
3574     149, 142, 141,\r
3575     142, 149, 150,\r
3576     150, 143, 142,\r
3577     143, 150, 151,\r
3578     151, 144, 143,\r
3579     144, 151, 152,\r
3580     152, 145, 144,\r
3581     145, 152, 153,\r
3582     153, 146, 145,\r
3583     147, 154, 155,\r
3584     155, 148, 147,\r
3585     148, 155, 156,\r
3586     156, 149, 148,\r
3587     149, 156, 157,\r
3588     157, 150, 149,\r
3589     150, 157, 158,\r
3590     158, 151, 150,\r
3591     151, 158, 159,\r
3592     159, 152, 151,\r
3593     152, 159, 160,\r
3594     160, 153, 152,\r
3595     154, 161, 162,\r
3596     162, 155, 154,\r
3597     155, 162, 163,\r
3598     163, 156, 155,\r
3599     156, 163, 164,\r
3600     164, 157, 156,\r
3601     157, 164, 165,\r
3602     165, 158, 157,\r
3603     158, 165, 166,\r
3604     166, 159, 158,\r
3605     159, 166, 167,\r
3606     167, 160, 159,\r
3607     161, 0, 1,\r
3608     1, 162, 161,\r
3609     162, 1, 2,\r
3610     2, 163, 162,\r
3611     163, 2, 3,\r
3612     3, 164, 163,\r
3613     164, 3, 4,\r
3614     4, 165, 164,\r
3615     165, 4, 5,\r
3616     5, 166, 165,\r
3617     166, 5, 6,\r
3618     6, 167, 166,\r
3619     6, 13, 174,\r
3620     174, 168, 6,\r
3621     168, 174, 175,\r
3622     175, 169, 168,\r
3623     169, 175, 176,\r
3624     176, 170, 169,\r
3625     170, 176, 177,\r
3626     177, 171, 170,\r
3627     171, 177, 178,\r
3628     178, 172, 171,\r
3629     172, 178, 179,\r
3630     179, 173, 172,\r
3631     13, 20, 180,\r
3632     180, 174, 13,\r
3633     174, 180, 181,\r
3634     181, 175, 174,\r
3635     175, 181, 182,\r
3636     182, 176, 175,\r
3637     176, 182, 183,\r
3638     183, 177, 176,\r
3639     177, 183, 184,\r
3640     184, 178, 177,\r
3641     178, 184, 185,\r
3642     185, 179, 178,\r
3643     20, 27, 186,\r
3644     186, 180, 20,\r
3645     180, 186, 187,\r
3646     187, 181, 180,\r
3647     181, 187, 188,\r
3648     188, 182, 181,\r
3649     182, 188, 189,\r
3650     189, 183, 182,\r
3651     183, 189, 190,\r
3652     190, 184, 183,\r
3653     184, 190, 191,\r
3654     191, 185, 184,\r
3655     27, 34, 192,\r
3656     192, 186, 27,\r
3657     186, 192, 193,\r
3658     193, 187, 186,\r
3659     187, 193, 194,\r
3660     194, 188, 187,\r
3661     188, 194, 195,\r
3662     195, 189, 188,\r
3663     189, 195, 196,\r
3664     196, 190, 189,\r
3665     190, 196, 197,\r
3666     197, 191, 190,\r
3667     34, 41, 198,\r
3668     198, 192, 34,\r
3669     192, 198, 199,\r
3670     199, 193, 192,\r
3671     193, 199, 200,\r
3672     200, 194, 193,\r
3673     194, 200, 201,\r
3674     201, 195, 194,\r
3675     195, 201, 202,\r
3676     202, 196, 195,\r
3677     196, 202, 203,\r
3678     203, 197, 196,\r
3679     41, 48, 204,\r
3680     204, 198, 41,\r
3681     198, 204, 205,\r
3682     205, 199, 198,\r
3683     199, 205, 206,\r
3684     206, 200, 199,\r
3685     200, 206, 207,\r
3686     207, 201, 200,\r
3687     201, 207, 208,\r
3688     208, 202, 201,\r
3689     202, 208, 209,\r
3690     209, 203, 202,\r
3691     48, 55, 210,\r
3692     210, 204, 48,\r
3693     204, 210, 211,\r
3694     211, 205, 204,\r
3695     205, 211, 212,\r
3696     212, 206, 205,\r
3697     206, 212, 213,\r
3698     213, 207, 206,\r
3699     207, 213, 214,\r
3700     214, 208, 207,\r
3701     208, 214, 215,\r
3702     215, 209, 208,\r
3703     55, 62, 216,\r
3704     216, 210, 55,\r
3705     210, 216, 217,\r
3706     217, 211, 210,\r
3707     211, 217, 218,\r
3708     218, 212, 211,\r
3709     212, 218, 219,\r
3710     219, 213, 212,\r
3711     213, 219, 220,\r
3712     220, 214, 213,\r
3713     214, 220, 221,\r
3714     221, 215, 214,\r
3715     62, 69, 222,\r
3716     222, 216, 62,\r
3717     216, 222, 223,\r
3718     223, 217, 216,\r
3719     217, 223, 224,\r
3720     224, 218, 217,\r
3721     218, 224, 225,\r
3722     225, 219, 218,\r
3723     219, 225, 226,\r
3724     226, 220, 219,\r
3725     220, 226, 227,\r
3726     227, 221, 220,\r
3727     69, 76, 228,\r
3728     228, 222, 69,\r
3729     222, 228, 229,\r
3730     229, 223, 222,\r
3731     223, 229, 230,\r
3732     230, 224, 223,\r
3733     224, 230, 231,\r
3734     231, 225, 224,\r
3735     225, 231, 232,\r
3736     232, 226, 225,\r
3737     226, 232, 233,\r
3738     233, 227, 226,\r
3739     76, 83, 234,\r
3740     234, 228, 76,\r
3741     228, 234, 235,\r
3742     235, 229, 228,\r
3743     229, 235, 236,\r
3744     236, 230, 229,\r
3745     230, 236, 237,\r
3746     237, 231, 230,\r
3747     231, 237, 238,\r
3748     238, 232, 231,\r
3749     232, 238, 239,\r
3750     239, 233, 232,\r
3751     83, 90, 240,\r
3752     240, 234, 83,\r
3753     234, 240, 241,\r
3754     241, 235, 234,\r
3755     235, 241, 242,\r
3756     242, 236, 235,\r
3757     236, 242, 243,\r
3758     243, 237, 236,\r
3759     237, 243, 244,\r
3760     244, 238, 237,\r
3761     238, 244, 245,\r
3762     245, 239, 238,\r
3763     90, 97, 246,\r
3764     246, 240, 90,\r
3765     240, 246, 247,\r
3766     247, 241, 240,\r
3767     241, 247, 248,\r
3768     248, 242, 241,\r
3769     242, 248, 249,\r
3770     249, 243, 242,\r
3771     243, 249, 250,\r
3772     250, 244, 243,\r
3773     244, 250, 251,\r
3774     251, 245, 244,\r
3775     97, 104, 252,\r
3776     252, 246, 97,\r
3777     246, 252, 253,\r
3778     253, 247, 246,\r
3779     247, 253, 254,\r
3780     254, 248, 247,\r
3781     248, 254, 255,\r
3782     255, 249, 248,\r
3783     249, 255, 256,\r
3784     256, 250, 249,\r
3785     250, 256, 257,\r
3786     257, 251, 250,\r
3787     104, 111, 258,\r
3788     258, 252, 104,\r
3789     252, 258, 259,\r
3790     259, 253, 252,\r
3791     253, 259, 260,\r
3792     260, 254, 253,\r
3793     254, 260, 261,\r
3794     261, 255, 254,\r
3795     255, 261, 262,\r
3796     262, 256, 255,\r
3797     256, 262, 263,\r
3798     263, 257, 256,\r
3799     111, 118, 264,\r
3800     264, 258, 111,\r
3801     258, 264, 265,\r
3802     265, 259, 258,\r
3803     259, 265, 266,\r
3804     266, 260, 259,\r
3805     260, 266, 267,\r
3806     267, 261, 260,\r
3807     261, 267, 268,\r
3808     268, 262, 261,\r
3809     262, 268, 269,\r
3810     269, 263, 262,\r
3811     118, 125, 270,\r
3812     270, 264, 118,\r
3813     264, 270, 271,\r
3814     271, 265, 264,\r
3815     265, 271, 272,\r
3816     272, 266, 265,\r
3817     266, 272, 273,\r
3818     273, 267, 266,\r
3819     267, 273, 274,\r
3820     274, 268, 267,\r
3821     268, 274, 275,\r
3822     275, 269, 268,\r
3823     125, 132, 276,\r
3824     276, 270, 125,\r
3825     270, 276, 277,\r
3826     277, 271, 270,\r
3827     271, 277, 278,\r
3828     278, 272, 271,\r
3829     272, 278, 279,\r
3830     279, 273, 272,\r
3831     273, 279, 280,\r
3832     280, 274, 273,\r
3833     274, 280, 281,\r
3834     281, 275, 274,\r
3835     132, 139, 282,\r
3836     282, 276, 132,\r
3837     276, 282, 283,\r
3838     283, 277, 276,\r
3839     277, 283, 284,\r
3840     284, 278, 277,\r
3841     278, 284, 285,\r
3842     285, 279, 278,\r
3843     279, 285, 286,\r
3844     286, 280, 279,\r
3845     280, 286, 287,\r
3846     287, 281, 280,\r
3847     139, 146, 288,\r
3848     288, 282, 139,\r
3849     282, 288, 289,\r
3850     289, 283, 282,\r
3851     283, 289, 290,\r
3852     290, 284, 283,\r
3853     284, 290, 291,\r
3854     291, 285, 284,\r
3855     285, 291, 292,\r
3856     292, 286, 285,\r
3857     286, 292, 293,\r
3858     293, 287, 286,\r
3859     146, 153, 294,\r
3860     294, 288, 146,\r
3861     288, 294, 295,\r
3862     295, 289, 288,\r
3863     289, 295, 296,\r
3864     296, 290, 289,\r
3865     290, 296, 297,\r
3866     297, 291, 290,\r
3867     291, 297, 298,\r
3868     298, 292, 291,\r
3869     292, 298, 299,\r
3870     299, 293, 292,\r
3871     153, 160, 300,\r
3872     300, 294, 153,\r
3873     294, 300, 301,\r
3874     301, 295, 294,\r
3875     295, 301, 302,\r
3876     302, 296, 295,\r
3877     296, 302, 303,\r
3878     303, 297, 296,\r
3879     297, 303, 304,\r
3880     304, 298, 297,\r
3881     298, 304, 305,\r
3882     305, 299, 298,\r
3883     160, 167, 306,\r
3884     306, 300, 160,\r
3885     300, 306, 307,\r
3886     307, 301, 300,\r
3887     301, 307, 308,\r
3888     308, 302, 301,\r
3889     302, 308, 309,\r
3890     309, 303, 302,\r
3891     303, 309, 310,\r
3892     310, 304, 303,\r
3893     304, 310, 311,\r
3894     311, 305, 304,\r
3895     167, 6, 168,\r
3896     168, 306, 167,\r
3897     306, 168, 169,\r
3898     169, 307, 306,\r
3899     307, 169, 170,\r
3900     170, 308, 307,\r
3901     308, 170, 171,\r
3902     171, 309, 308,\r
3903     309, 171, 172,\r
3904     172, 310, 309,\r
3905     310, 172, 173,\r
3906     173, 311, 310,\r
3907     173, 179, 318,\r
3908     318, 312, 173,\r
3909     312, 318, 319,\r
3910     319, 313, 312,\r
3911     313, 319, 320,\r
3912     320, 314, 313,\r
3913     314, 320, 321,\r
3914     321, 315, 314,\r
3915     315, 321, 322,\r
3916     322, 316, 315,\r
3917     316, 322, 323,\r
3918     323, 317, 316,\r
3919     179, 185, 324,\r
3920     324, 318, 179,\r
3921     318, 324, 325,\r
3922     325, 319, 318,\r
3923     319, 325, 326,\r
3924     326, 320, 319,\r
3925     320, 326, 327,\r
3926     327, 321, 320,\r
3927     321, 327, 328,\r
3928     328, 322, 321,\r
3929     322, 328, 329,\r
3930     329, 323, 322,\r
3931     185, 191, 330,\r
3932     330, 324, 185,\r
3933     324, 330, 331,\r
3934     331, 325, 324,\r
3935     325, 331, 332,\r
3936     332, 326, 325,\r
3937     326, 332, 333,\r
3938     333, 327, 326,\r
3939     327, 333, 334,\r
3940     334, 328, 327,\r
3941     328, 334, 335,\r
3942     335, 329, 328,\r
3943     191, 197, 336,\r
3944     336, 330, 191,\r
3945     330, 336, 337,\r
3946     337, 331, 330,\r
3947     331, 337, 338,\r
3948     338, 332, 331,\r
3949     332, 338, 339,\r
3950     339, 333, 332,\r
3951     333, 339, 340,\r
3952     340, 334, 333,\r
3953     334, 340, 341,\r
3954     341, 335, 334,\r
3955     197, 203, 342,\r
3956     342, 336, 197,\r
3957     336, 342, 343,\r
3958     343, 337, 336,\r
3959     337, 343, 344,\r
3960     344, 338, 337,\r
3961     338, 344, 345,\r
3962     345, 339, 338,\r
3963     339, 345, 346,\r
3964     346, 340, 339,\r
3965     340, 346, 347,\r
3966     347, 341, 340,\r
3967     203, 209, 348,\r
3968     348, 342, 203,\r
3969     342, 348, 349,\r
3970     349, 343, 342,\r
3971     343, 349, 350,\r
3972     350, 344, 343,\r
3973     344, 350, 351,\r
3974     351, 345, 344,\r
3975     345, 351, 352,\r
3976     352, 346, 345,\r
3977     346, 352, 353,\r
3978     353, 347, 346,\r
3979     209, 215, 354,\r
3980     354, 348, 209,\r
3981     348, 354, 355,\r
3982     355, 349, 348,\r
3983     349, 355, 356,\r
3984     356, 350, 349,\r
3985     350, 356, 357,\r
3986     357, 351, 350,\r
3987     351, 357, 358,\r
3988     358, 352, 351,\r
3989     352, 358, 359,\r
3990     359, 353, 352,\r
3991     215, 221, 360,\r
3992     360, 354, 215,\r
3993     354, 360, 361,\r
3994     361, 355, 354,\r
3995     355, 361, 362,\r
3996     362, 356, 355,\r
3997     356, 362, 363,\r
3998     363, 357, 356,\r
3999     357, 363, 364,\r
4000     364, 358, 357,\r
4001     358, 364, 365,\r
4002     365, 359, 358,\r
4003     221, 227, 366,\r
4004     366, 360, 221,\r
4005     360, 366, 367,\r
4006     367, 361, 360,\r
4007     361, 367, 368,\r
4008     368, 362, 361,\r
4009     362, 368, 369,\r
4010     369, 363, 362,\r
4011     363, 369, 370,\r
4012     370, 364, 363,\r
4013     364, 370, 371,\r
4014     371, 365, 364,\r
4015     227, 233, 372,\r
4016     372, 366, 227,\r
4017     366, 372, 373,\r
4018     373, 367, 366,\r
4019     367, 373, 374,\r
4020     374, 368, 367,\r
4021     368, 374, 375,\r
4022     375, 369, 368,\r
4023     369, 375, 376,\r
4024     376, 370, 369,\r
4025     370, 376, 377,\r
4026     377, 371, 370,\r
4027     233, 239, 378,\r
4028     378, 372, 233,\r
4029     372, 378, 379,\r
4030     379, 373, 372,\r
4031     373, 379, 380,\r
4032     380, 374, 373,\r
4033     374, 380, 381,\r
4034     381, 375, 374,\r
4035     375, 381, 382,\r
4036     382, 376, 375,\r
4037     376, 382, 383,\r
4038     383, 377, 376,\r
4039     239, 245, 384,\r
4040     384, 378, 239,\r
4041     378, 384, 385,\r
4042     385, 379, 378,\r
4043     379, 385, 386,\r
4044     386, 380, 379,\r
4045     380, 386, 387,\r
4046     387, 381, 380,\r
4047     381, 387, 388,\r
4048     388, 382, 381,\r
4049     382, 388, 389,\r
4050     389, 383, 382,\r
4051     245, 251, 390,\r
4052     390, 384, 245,\r
4053     384, 390, 391,\r
4054     391, 385, 384,\r
4055     385, 391, 392,\r
4056     392, 386, 385,\r
4057     386, 392, 393,\r
4058     393, 387, 386,\r
4059     387, 393, 394,\r
4060     394, 388, 387,\r
4061     388, 394, 395,\r
4062     395, 389, 388,\r
4063     251, 257, 396,\r
4064     396, 390, 251,\r
4065     390, 396, 397,\r
4066     397, 391, 390,\r
4067     391, 397, 398,\r
4068     398, 392, 391,\r
4069     392, 398, 399,\r
4070     399, 393, 392,\r
4071     393, 399, 400,\r
4072     400, 394, 393,\r
4073     394, 400, 401,\r
4074     401, 395, 394,\r
4075     257, 263, 402,\r
4076     402, 396, 257,\r
4077     396, 402, 403,\r
4078     403, 397, 396,\r
4079     397, 403, 404,\r
4080     404, 398, 397,\r
4081     398, 404, 405,\r
4082     405, 399, 398,\r
4083     399, 405, 406,\r
4084     406, 400, 399,\r
4085     400, 406, 407,\r
4086     407, 401, 400,\r
4087     263, 269, 408,\r
4088     408, 402, 263,\r
4089     402, 408, 409,\r
4090     409, 403, 402,\r
4091     403, 409, 410,\r
4092     410, 404, 403,\r
4093     404, 410, 411,\r
4094     411, 405, 404,\r
4095     405, 411, 412,\r
4096     412, 406, 405,\r
4097     406, 412, 413,\r
4098     413, 407, 406,\r
4099     269, 275, 414,\r
4100     414, 408, 269,\r
4101     408, 414, 415,\r
4102     415, 409, 408,\r
4103     409, 415, 416,\r
4104     416, 410, 409,\r
4105     410, 416, 417,\r
4106     417, 411, 410,\r
4107     411, 417, 418,\r
4108     418, 412, 411,\r
4109     412, 418, 419,\r
4110     419, 413, 412,\r
4111     275, 281, 420,\r
4112     420, 414, 275,\r
4113     414, 420, 421,\r
4114     421, 415, 414,\r
4115     415, 421, 422,\r
4116     422, 416, 415,\r
4117     416, 422, 423,\r
4118     423, 417, 416,\r
4119     417, 423, 424,\r
4120     424, 418, 417,\r
4121     418, 424, 425,\r
4122     425, 419, 418,\r
4123     281, 287, 426,\r
4124     426, 420, 281,\r
4125     420, 426, 427,\r
4126     427, 421, 420,\r
4127     421, 427, 428,\r
4128     428, 422, 421,\r
4129     422, 428, 429,\r
4130     429, 423, 422,\r
4131     423, 429, 430,\r
4132     430, 424, 423,\r
4133     424, 430, 431,\r
4134     431, 425, 424,\r
4135     287, 293, 432,\r
4136     432, 426, 287,\r
4137     426, 432, 433,\r
4138     433, 427, 426,\r
4139     427, 433, 434,\r
4140     434, 428, 427,\r
4141     428, 434, 435,\r
4142     435, 429, 428,\r
4143     429, 435, 436,\r
4144     436, 430, 429,\r
4145     430, 436, 437,\r
4146     437, 431, 430,\r
4147     293, 299, 438,\r
4148     438, 432, 293,\r
4149     432, 438, 439,\r
4150     439, 433, 432,\r
4151     433, 439, 440,\r
4152     440, 434, 433,\r
4153     434, 440, 441,\r
4154     441, 435, 434,\r
4155     435, 441, 442,\r
4156     442, 436, 435,\r
4157     436, 442, 443,\r
4158     443, 437, 436,\r
4159     299, 305, 444,\r
4160     444, 438, 299,\r
4161     438, 444, 445,\r
4162     445, 439, 438,\r
4163     439, 445, 446,\r
4164     446, 440, 439,\r
4165     440, 446, 447,\r
4166     447, 441, 440,\r
4167     441, 447, 448,\r
4168     448, 442, 441,\r
4169     442, 448, 449,\r
4170     449, 443, 442,\r
4171     305, 311, 450,\r
4172     450, 444, 305,\r
4173     444, 450, 451,\r
4174     451, 445, 444,\r
4175     445, 451, 452,\r
4176     452, 446, 445,\r
4177     446, 452, 453,\r
4178     453, 447, 446,\r
4179     447, 453, 454,\r
4180     454, 448, 447,\r
4181     448, 454, 455,\r
4182     455, 449, 448,\r
4183     311, 173, 312,\r
4184     312, 450, 311,\r
4185     450, 312, 313,\r
4186     313, 451, 450,\r
4187     451, 313, 314,\r
4188     314, 452, 451,\r
4189     452, 314, 315,\r
4190     315, 453, 452,\r
4191     453, 315, 316,\r
4192     316, 454, 453,\r
4193     454, 316, 317,\r
4194     317, 455, 454,\r
4195     317, 323, 462,\r
4196     462, 456, 317,\r
4197     456, 462, 463,\r
4198     463, 457, 456,\r
4199     457, 463, 464,\r
4200     464, 458, 457,\r
4201     458, 464, 465,\r
4202     465, 459, 458,\r
4203     459, 465, 466,\r
4204     466, 460, 459,\r
4205     460, 466, 461,\r
4206     323, 329, 467,\r
4207     467, 462, 323,\r
4208     462, 467, 468,\r
4209     468, 463, 462,\r
4210     463, 468, 469,\r
4211     469, 464, 463,\r
4212     464, 469, 470,\r
4213     470, 465, 464,\r
4214     465, 470, 471,\r
4215     471, 466, 465,\r
4216     466, 471, 461,\r
4217     329, 335, 472,\r
4218     472, 467, 329,\r
4219     467, 472, 473,\r
4220     473, 468, 467,\r
4221     468, 473, 474,\r
4222     474, 469, 468,\r
4223     469, 474, 475,\r
4224     475, 470, 469,\r
4225     470, 475, 476,\r
4226     476, 471, 470,\r
4227     471, 476, 461,\r
4228     335, 341, 477,\r
4229     477, 472, 335,\r
4230     472, 477, 478,\r
4231     478, 473, 472,\r
4232     473, 478, 479,\r
4233     479, 474, 473,\r
4234     474, 479, 480,\r
4235     480, 475, 474,\r
4236     475, 480, 481,\r
4237     481, 476, 475,\r
4238     476, 481, 461,\r
4239     341, 347, 482,\r
4240     482, 477, 341,\r
4241     477, 482, 483,\r
4242     483, 478, 477,\r
4243     478, 483, 484,\r
4244     484, 479, 478,\r
4245     479, 484, 485,\r
4246     485, 480, 479,\r
4247     480, 485, 486,\r
4248     486, 481, 480,\r
4249     481, 486, 461,\r
4250     347, 353, 487,\r
4251     487, 482, 347,\r
4252     482, 487, 488,\r
4253     488, 483, 482,\r
4254     483, 488, 489,\r
4255     489, 484, 483,\r
4256     484, 489, 490,\r
4257     490, 485, 484,\r
4258     485, 490, 491,\r
4259     491, 486, 485,\r
4260     486, 491, 461,\r
4261     353, 359, 492,\r
4262     492, 487, 353,\r
4263     487, 492, 493,\r
4264     493, 488, 487,\r
4265     488, 493, 494,\r
4266     494, 489, 488,\r
4267     489, 494, 495,\r
4268     495, 490, 489,\r
4269     490, 495, 496,\r
4270     496, 491, 490,\r
4271     491, 496, 461,\r
4272     359, 365, 497,\r
4273     497, 492, 359,\r
4274     492, 497, 498,\r
4275     498, 493, 492,\r
4276     493, 498, 499,\r
4277     499, 494, 493,\r
4278     494, 499, 500,\r
4279     500, 495, 494,\r
4280     495, 500, 501,\r
4281     501, 496, 495,\r
4282     496, 501, 461,\r
4283     365, 371, 502,\r
4284     502, 497, 365,\r
4285     497, 502, 503,\r
4286     503, 498, 497,\r
4287     498, 503, 504,\r
4288     504, 499, 498,\r
4289     499, 504, 505,\r
4290     505, 500, 499,\r
4291     500, 505, 506,\r
4292     506, 501, 500,\r
4293     501, 506, 461,\r
4294     371, 377, 507,\r
4295     507, 502, 371,\r
4296     502, 507, 508,\r
4297     508, 503, 502,\r
4298     503, 508, 509,\r
4299     509, 504, 503,\r
4300     504, 509, 510,\r
4301     510, 505, 504,\r
4302     505, 510, 511,\r
4303     511, 506, 505,\r
4304     506, 511, 461,\r
4305     377, 383, 512,\r
4306     512, 507, 377,\r
4307     507, 512, 513,\r
4308     513, 508, 507,\r
4309     508, 513, 514,\r
4310     514, 509, 508,\r
4311     509, 514, 515,\r
4312     515, 510, 509,\r
4313     510, 515, 516,\r
4314     516, 511, 510,\r
4315     511, 516, 461,\r
4316     383, 389, 517,\r
4317     517, 512, 383,\r
4318     512, 517, 518,\r
4319     518, 513, 512,\r
4320     513, 518, 519,\r
4321     519, 514, 513,\r
4322     514, 519, 520,\r
4323     520, 515, 514,\r
4324     515, 520, 521,\r
4325     521, 516, 515,\r
4326     516, 521, 461,\r
4327     389, 395, 522,\r
4328     522, 517, 389,\r
4329     517, 522, 523,\r
4330     523, 518, 517,\r
4331     518, 523, 524,\r
4332     524, 519, 518,\r
4333     519, 524, 525,\r
4334     525, 520, 519,\r
4335     520, 525, 526,\r
4336     526, 521, 520,\r
4337     521, 526, 461,\r
4338     395, 401, 527,\r
4339     527, 522, 395,\r
4340     522, 527, 528,\r
4341     528, 523, 522,\r
4342     523, 528, 529,\r
4343     529, 524, 523,\r
4344     524, 529, 530,\r
4345     530, 525, 524,\r
4346     525, 530, 531,\r
4347     531, 526, 525,\r
4348     526, 531, 461,\r
4349     401, 407, 532,\r
4350     532, 527, 401,\r
4351     527, 532, 533,\r
4352     533, 528, 527,\r
4353     528, 533, 534,\r
4354     534, 529, 528,\r
4355     529, 534, 535,\r
4356     535, 530, 529,\r
4357     530, 535, 536,\r
4358     536, 531, 530,\r
4359     531, 536, 461,\r
4360     407, 413, 537,\r
4361     537, 532, 407,\r
4362     532, 537, 538,\r
4363     538, 533, 532,\r
4364     533, 538, 539,\r
4365     539, 534, 533,\r
4366     534, 539, 540,\r
4367     540, 535, 534,\r
4368     535, 540, 541,\r
4369     541, 536, 535,\r
4370     536, 541, 461,\r
4371     413, 419, 542,\r
4372     542, 537, 413,\r
4373     537, 542, 543,\r
4374     543, 538, 537,\r
4375     538, 543, 544,\r
4376     544, 539, 538,\r
4377     539, 544, 545,\r
4378     545, 540, 539,\r
4379     540, 545, 546,\r
4380     546, 541, 540,\r
4381     541, 546, 461,\r
4382     419, 425, 547,\r
4383     547, 542, 419,\r
4384     542, 547, 548,\r
4385     548, 543, 542,\r
4386     543, 548, 549,\r
4387     549, 544, 543,\r
4388     544, 549, 550,\r
4389     550, 545, 544,\r
4390     545, 550, 551,\r
4391     551, 546, 545,\r
4392     546, 551, 461,\r
4393     425, 431, 552,\r
4394     552, 547, 425,\r
4395     547, 552, 553,\r
4396     553, 548, 547,\r
4397     548, 553, 554,\r
4398     554, 549, 548,\r
4399     549, 554, 555,\r
4400     555, 550, 549,\r
4401     550, 555, 556,\r
4402     556, 551, 550,\r
4403     551, 556, 461,\r
4404     431, 437, 557,\r
4405     557, 552, 431,\r
4406     552, 557, 558,\r
4407     558, 553, 552,\r
4408     553, 558, 559,\r
4409     559, 554, 553,\r
4410     554, 559, 560,\r
4411     560, 555, 554,\r
4412     555, 560, 561,\r
4413     561, 556, 555,\r
4414     556, 561, 461,\r
4415     437, 443, 562,\r
4416     562, 557, 437,\r
4417     557, 562, 563,\r
4418     563, 558, 557,\r
4419     558, 563, 564,\r
4420     564, 559, 558,\r
4421     559, 564, 565,\r
4422     565, 560, 559,\r
4423     560, 565, 566,\r
4424     566, 561, 560,\r
4425     561, 566, 461,\r
4426     443, 449, 567,\r
4427     567, 562, 443,\r
4428     562, 567, 568,\r
4429     568, 563, 562,\r
4430     563, 568, 569,\r
4431     569, 564, 563,\r
4432     564, 569, 570,\r
4433     570, 565, 564,\r
4434     565, 570, 571,\r
4435     571, 566, 565,\r
4436     566, 571, 461,\r
4437     449, 455, 572,\r
4438     572, 567, 449,\r
4439     567, 572, 573,\r
4440     573, 568, 567,\r
4441     568, 573, 574,\r
4442     574, 569, 568,\r
4443     569, 574, 575,\r
4444     575, 570, 569,\r
4445     570, 575, 576,\r
4446     576, 571, 570,\r
4447     571, 576, 461,\r
4448     455, 317, 456,\r
4449     456, 572, 455,\r
4450     572, 456, 457,\r
4451     457, 573, 572,\r
4452     573, 457, 458,\r
4453     458, 574, 573,\r
4454     574, 458, 459,\r
4455     459, 575, 574,\r
4456     575, 459, 460,\r
4457     460, 576, 575,\r
4458     576, 460, 461,\r
4459     577, 584, 585,\r
4460     585, 578, 577,\r
4461     578, 585, 586,\r
4462     586, 579, 578,\r
4463     579, 586, 587,\r
4464     587, 580, 579,\r
4465     580, 587, 588,\r
4466     588, 581, 580,\r
4467     581, 588, 589,\r
4468     589, 582, 581,\r
4469     582, 589, 590,\r
4470     590, 583, 582,\r
4471     584, 591, 592,\r
4472     592, 585, 584,\r
4473     585, 592, 593,\r
4474     593, 586, 585,\r
4475     586, 593, 594,\r
4476     594, 587, 586,\r
4477     587, 594, 595,\r
4478     595, 588, 587,\r
4479     588, 595, 596,\r
4480     596, 589, 588,\r
4481     589, 596, 597,\r
4482     597, 590, 589,\r
4483     591, 598, 599,\r
4484     599, 592, 591,\r
4485     592, 599, 600,\r
4486     600, 593, 592,\r
4487     593, 600, 601,\r
4488     601, 594, 593,\r
4489     594, 601, 602,\r
4490     602, 595, 594,\r
4491     595, 602, 603,\r
4492     603, 596, 595,\r
4493     596, 603, 604,\r
4494     604, 597, 596,\r
4495     598, 605, 606,\r
4496     606, 599, 598,\r
4497     599, 606, 607,\r
4498     607, 600, 599,\r
4499     600, 607, 608,\r
4500     608, 601, 600,\r
4501     601, 608, 609,\r
4502     609, 602, 601,\r
4503     602, 609, 610,\r
4504     610, 603, 602,\r
4505     603, 610, 611,\r
4506     611, 604, 603,\r
4507     605, 612, 613,\r
4508     613, 606, 605,\r
4509     606, 613, 614,\r
4510     614, 607, 606,\r
4511     607, 614, 615,\r
4512     615, 608, 607,\r
4513     608, 615, 616,\r
4514     616, 609, 608,\r
4515     609, 616, 617,\r
4516     617, 610, 609,\r
4517     610, 617, 618,\r
4518     618, 611, 610,\r
4519     612, 619, 620,\r
4520     620, 613, 612,\r
4521     613, 620, 621,\r
4522     621, 614, 613,\r
4523     614, 621, 622,\r
4524     622, 615, 614,\r
4525     615, 622, 623,\r
4526     623, 616, 615,\r
4527     616, 623, 624,\r
4528     624, 617, 616,\r
4529     617, 624, 625,\r
4530     625, 618, 617,\r
4531     619, 626, 627,\r
4532     627, 620, 619,\r
4533     620, 627, 628,\r
4534     628, 621, 620,\r
4535     621, 628, 629,\r
4536     629, 622, 621,\r
4537     622, 629, 630,\r
4538     630, 623, 622,\r
4539     623, 630, 631,\r
4540     631, 624, 623,\r
4541     624, 631, 632,\r
4542     632, 625, 624,\r
4543     626, 633, 634,\r
4544     634, 627, 626,\r
4545     627, 634, 635,\r
4546     635, 628, 627,\r
4547     628, 635, 636,\r
4548     636, 629, 628,\r
4549     629, 636, 637,\r
4550     637, 630, 629,\r
4551     630, 637, 638,\r
4552     638, 631, 630,\r
4553     631, 638, 639,\r
4554     639, 632, 631,\r
4555     633, 640, 641,\r
4556     641, 634, 633,\r
4557     634, 641, 642,\r
4558     642, 635, 634,\r
4559     635, 642, 643,\r
4560     643, 636, 635,\r
4561     636, 643, 644,\r
4562     644, 637, 636,\r
4563     637, 644, 645,\r
4564     645, 638, 637,\r
4565     638, 645, 646,\r
4566     646, 639, 638,\r
4567     640, 647, 648,\r
4568     648, 641, 640,\r
4569     641, 648, 649,\r
4570     649, 642, 641,\r
4571     642, 649, 650,\r
4572     650, 643, 642,\r
4573     643, 650, 651,\r
4574     651, 644, 643,\r
4575     644, 651, 652,\r
4576     652, 645, 644,\r
4577     645, 652, 653,\r
4578     653, 646, 645,\r
4579     647, 654, 655,\r
4580     655, 648, 647,\r
4581     648, 655, 656,\r
4582     656, 649, 648,\r
4583     649, 656, 657,\r
4584     657, 650, 649,\r
4585     650, 657, 658,\r
4586     658, 651, 650,\r
4587     651, 658, 659,\r
4588     659, 652, 651,\r
4589     652, 659, 660,\r
4590     660, 653, 652,\r
4591     654, 577, 578,\r
4592     578, 655, 654,\r
4593     655, 578, 579,\r
4594     579, 656, 655,\r
4595     656, 579, 580,\r
4596     580, 657, 656,\r
4597     657, 580, 581,\r
4598     581, 658, 657,\r
4599     658, 581, 582,\r
4600     582, 659, 658,\r
4601     659, 582, 583,\r
4602     583, 660, 659,\r
4603     583, 590, 667,\r
4604     667, 661, 583,\r
4605     661, 667, 668,\r
4606     668, 662, 661,\r
4607     662, 668, 669,\r
4608     669, 663, 662,\r
4609     663, 669, 670,\r
4610     670, 664, 663,\r
4611     664, 670, 671,\r
4612     671, 665, 664,\r
4613     665, 671, 672,\r
4614     672, 666, 665,\r
4615     590, 597, 673,\r
4616     673, 667, 590,\r
4617     667, 673, 674,\r
4618     674, 668, 667,\r
4619     668, 674, 675,\r
4620     675, 669, 668,\r
4621     669, 675, 676,\r
4622     676, 670, 669,\r
4623     670, 676, 677,\r
4624     677, 671, 670,\r
4625     671, 677, 678,\r
4626     678, 672, 671,\r
4627     597, 604, 679,\r
4628     679, 673, 597,\r
4629     673, 679, 680,\r
4630     680, 674, 673,\r
4631     674, 680, 681,\r
4632     681, 675, 674,\r
4633     675, 681, 682,\r
4634     682, 676, 675,\r
4635     676, 682, 683,\r
4636     683, 677, 676,\r
4637     677, 683, 684,\r
4638     684, 678, 677,\r
4639     604, 611, 685,\r
4640     685, 679, 604,\r
4641     679, 685, 686,\r
4642     686, 680, 679,\r
4643     680, 686, 687,\r
4644     687, 681, 680,\r
4645     681, 687, 688,\r
4646     688, 682, 681,\r
4647     682, 688, 689,\r
4648     689, 683, 682,\r
4649     683, 689, 690,\r
4650     690, 684, 683,\r
4651     611, 618, 691,\r
4652     691, 685, 611,\r
4653     685, 691, 692,\r
4654     692, 686, 685,\r
4655     686, 692, 693,\r
4656     693, 687, 686,\r
4657     687, 693, 694,\r
4658     694, 688, 687,\r
4659     688, 694, 695,\r
4660     695, 689, 688,\r
4661     689, 695, 696,\r
4662     696, 690, 689,\r
4663     618, 625, 697,\r
4664     697, 691, 618,\r
4665     691, 697, 698,\r
4666     698, 692, 691,\r
4667     692, 698, 699,\r
4668     699, 693, 692,\r
4669     693, 699, 700,\r
4670     700, 694, 693,\r
4671     694, 700, 701,\r
4672     701, 695, 694,\r
4673     695, 701, 702,\r
4674     702, 696, 695,\r
4675     625, 632, 703,\r
4676     703, 697, 625,\r
4677     697, 703, 704,\r
4678     704, 698, 697,\r
4679     698, 704, 705,\r
4680     705, 699, 698,\r
4681     699, 705, 706,\r
4682     706, 700, 699,\r
4683     700, 706, 707,\r
4684     707, 701, 700,\r
4685     701, 707, 708,\r
4686     708, 702, 701,\r
4687     632, 639, 709,\r
4688     709, 703, 632,\r
4689     703, 709, 710,\r
4690     710, 704, 703,\r
4691     704, 710, 711,\r
4692     711, 705, 704,\r
4693     705, 711, 712,\r
4694     712, 706, 705,\r
4695     706, 712, 713,\r
4696     713, 707, 706,\r
4697     707, 713, 714,\r
4698     714, 708, 707,\r
4699     639, 646, 715,\r
4700     715, 709, 639,\r
4701     709, 715, 716,\r
4702     716, 710, 709,\r
4703     710, 716, 717,\r
4704     717, 711, 710,\r
4705     711, 717, 718,\r
4706     718, 712, 711,\r
4707     712, 718, 719,\r
4708     719, 713, 712,\r
4709     713, 719, 720,\r
4710     720, 714, 713,\r
4711     646, 653, 721,\r
4712     721, 715, 646,\r
4713     715, 721, 722,\r
4714     722, 716, 715,\r
4715     716, 722, 723,\r
4716     723, 717, 716,\r
4717     717, 723, 724,\r
4718     724, 718, 717,\r
4719     718, 724, 725,\r
4720     725, 719, 718,\r
4721     719, 725, 726,\r
4722     726, 720, 719,\r
4723     653, 660, 727,\r
4724     727, 721, 653,\r
4725     721, 727, 728,\r
4726     728, 722, 721,\r
4727     722, 728, 729,\r
4728     729, 723, 722,\r
4729     723, 729, 730,\r
4730     730, 724, 723,\r
4731     724, 730, 731,\r
4732     731, 725, 724,\r
4733     725, 731, 732,\r
4734     732, 726, 725,\r
4735     660, 583, 661,\r
4736     661, 727, 660,\r
4737     727, 661, 662,\r
4738     662, 728, 727,\r
4739     728, 662, 663,\r
4740     663, 729, 728,\r
4741     729, 663, 664,\r
4742     664, 730, 729,\r
4743     730, 664, 665,\r
4744     665, 731, 730,\r
4745     731, 665, 666,\r
4746     666, 732, 731,\r
4747     733, 740, 741,\r
4748     741, 734, 733,\r
4749     734, 741, 742,\r
4750     742, 735, 734,\r
4751     735, 742, 743,\r
4752     743, 736, 735,\r
4753     736, 743, 744,\r
4754     744, 737, 736,\r
4755     737, 744, 745,\r
4756     745, 738, 737,\r
4757     738, 745, 746,\r
4758     746, 739, 738,\r
4759     740, 747, 748,\r
4760     748, 741, 740,\r
4761     741, 748, 749,\r
4762     749, 742, 741,\r
4763     742, 749, 750,\r
4764     750, 743, 742,\r
4765     743, 750, 751,\r
4766     751, 744, 743,\r
4767     744, 751, 752,\r
4768     752, 745, 744,\r
4769     745, 752, 753,\r
4770     753, 746, 745,\r
4771     747, 754, 755,\r
4772     755, 748, 747,\r
4773     748, 755, 756,\r
4774     756, 749, 748,\r
4775     749, 756, 757,\r
4776     757, 750, 749,\r
4777     750, 757, 758,\r
4778     758, 751, 750,\r
4779     751, 758, 759,\r
4780     759, 752, 751,\r
4781     752, 759, 760,\r
4782     760, 753, 752,\r
4783     754, 761, 762,\r
4784     762, 755, 754,\r
4785     755, 762, 763,\r
4786     763, 756, 755,\r
4787     756, 763, 764,\r
4788     764, 757, 756,\r
4789     757, 764, 765,\r
4790     765, 758, 757,\r
4791     758, 765, 766,\r
4792     766, 759, 758,\r
4793     759, 766, 767,\r
4794     767, 760, 759,\r
4795     761, 768, 769,\r
4796     769, 762, 761,\r
4797     762, 769, 770,\r
4798     770, 763, 762,\r
4799     763, 770, 771,\r
4800     771, 764, 763,\r
4801     764, 771, 772,\r
4802     772, 765, 764,\r
4803     765, 772, 773,\r
4804     773, 766, 765,\r
4805     766, 773, 774,\r
4806     774, 767, 766,\r
4807     768, 775, 776,\r
4808     776, 769, 768,\r
4809     769, 776, 777,\r
4810     777, 770, 769,\r
4811     770, 777, 778,\r
4812     778, 771, 770,\r
4813     771, 778, 779,\r
4814     779, 772, 771,\r
4815     772, 779, 780,\r
4816     780, 773, 772,\r
4817     773, 780, 781,\r
4818     781, 774, 773,\r
4819     775, 782, 783,\r
4820     783, 776, 775,\r
4821     776, 783, 784,\r
4822     784, 777, 776,\r
4823     777, 784, 785,\r
4824     785, 778, 777,\r
4825     778, 785, 786,\r
4826     786, 779, 778,\r
4827     779, 786, 787,\r
4828     787, 780, 779,\r
4829     780, 787, 788,\r
4830     788, 781, 780,\r
4831     782, 789, 790,\r
4832     790, 783, 782,\r
4833     783, 790, 791,\r
4834     791, 784, 783,\r
4835     784, 791, 792,\r
4836     792, 785, 784,\r
4837     785, 792, 793,\r
4838     793, 786, 785,\r
4839     786, 793, 794,\r
4840     794, 787, 786,\r
4841     787, 794, 795,\r
4842     795, 788, 787,\r
4843     789, 796, 797,\r
4844     797, 790, 789,\r
4845     790, 797, 798,\r
4846     798, 791, 790,\r
4847     791, 798, 799,\r
4848     799, 792, 791,\r
4849     792, 799, 800,\r
4850     800, 793, 792,\r
4851     793, 800, 801,\r
4852     801, 794, 793,\r
4853     794, 801, 802,\r
4854     802, 795, 794,\r
4855     796, 803, 804,\r
4856     804, 797, 796,\r
4857     797, 804, 805,\r
4858     805, 798, 797,\r
4859     798, 805, 806,\r
4860     806, 799, 798,\r
4861     799, 806, 807,\r
4862     807, 800, 799,\r
4863     800, 807, 808,\r
4864     808, 801, 800,\r
4865     801, 808, 809,\r
4866     809, 802, 801,\r
4867     803, 810, 811,\r
4868     811, 804, 803,\r
4869     804, 811, 812,\r
4870     812, 805, 804,\r
4871     805, 812, 813,\r
4872     813, 806, 805,\r
4873     806, 813, 814,\r
4874     814, 807, 806,\r
4875     807, 814, 815,\r
4876     815, 808, 807,\r
4877     808, 815, 816,\r
4878     816, 809, 808,\r
4879     810, 733, 734,\r
4880     734, 811, 810,\r
4881     811, 734, 735,\r
4882     735, 812, 811,\r
4883     812, 735, 736,\r
4884     736, 813, 812,\r
4885     813, 736, 737,\r
4886     737, 814, 813,\r
4887     814, 737, 738,\r
4888     738, 815, 814,\r
4889     815, 738, 739,\r
4890     739, 816, 815,\r
4891     739, 746, 823,\r
4892     823, 817, 739,\r
4893     817, 823, 824,\r
4894     824, 818, 817,\r
4895     818, 824, 825,\r
4896     825, 819, 818,\r
4897     819, 825, 826,\r
4898     826, 820, 819,\r
4899     820, 826, 827,\r
4900     827, 821, 820,\r
4901     821, 827, 828,\r
4902     828, 822, 821,\r
4903     746, 753, 829,\r
4904     829, 823, 746,\r
4905     823, 829, 830,\r
4906     830, 824, 823,\r
4907     824, 830, 831,\r
4908     831, 825, 824,\r
4909     825, 831, 832,\r
4910     832, 826, 825,\r
4911     826, 832, 833,\r
4912     833, 827, 826,\r
4913     827, 833, 834,\r
4914     834, 828, 827,\r
4915     753, 760, 835,\r
4916     835, 829, 753,\r
4917     829, 835, 836,\r
4918     836, 830, 829,\r
4919     830, 836, 837,\r
4920     837, 831, 830,\r
4921     831, 837, 838,\r
4922     838, 832, 831,\r
4923     832, 838, 839,\r
4924     839, 833, 832,\r
4925     833, 839, 840,\r
4926     840, 834, 833,\r
4927     760, 767, 841,\r
4928     841, 835, 760,\r
4929     835, 841, 842,\r
4930     842, 836, 835,\r
4931     836, 842, 843,\r
4932     843, 837, 836,\r
4933     837, 843, 844,\r
4934     844, 838, 837,\r
4935     838, 844, 845,\r
4936     845, 839, 838,\r
4937     839, 845, 846,\r
4938     846, 840, 839,\r
4939     767, 774, 847,\r
4940     847, 841, 767,\r
4941     841, 847, 848,\r
4942     848, 842, 841,\r
4943     842, 848, 849,\r
4944     849, 843, 842,\r
4945     843, 849, 850,\r
4946     850, 844, 843,\r
4947     844, 850, 851,\r
4948     851, 845, 844,\r
4949     845, 851, 852,\r
4950     852, 846, 845,\r
4951     774, 781, 853,\r
4952     853, 847, 774,\r
4953     847, 853, 854,\r
4954     854, 848, 847,\r
4955     848, 854, 855,\r
4956     855, 849, 848,\r
4957     849, 855, 856,\r
4958     856, 850, 849,\r
4959     850, 856, 857,\r
4960     857, 851, 850,\r
4961     851, 857, 858,\r
4962     858, 852, 851,\r
4963     781, 788, 859,\r
4964     859, 853, 781,\r
4965     853, 859, 860,\r
4966     860, 854, 853,\r
4967     854, 860, 861,\r
4968     861, 855, 854,\r
4969     855, 861, 862,\r
4970     862, 856, 855,\r
4971     856, 862, 863,\r
4972     863, 857, 856,\r
4973     857, 863, 864,\r
4974     864, 858, 857,\r
4975     788, 795, 865,\r
4976     865, 859, 788,\r
4977     859, 865, 866,\r
4978     866, 860, 859,\r
4979     860, 866, 867,\r
4980     867, 861, 860,\r
4981     861, 867, 868,\r
4982     868, 862, 861,\r
4983     862, 868, 869,\r
4984     869, 863, 862,\r
4985     863, 869, 870,\r
4986     870, 864, 863,\r
4987     795, 802, 871,\r
4988     871, 865, 795,\r
4989     865, 871, 872,\r
4990     872, 866, 865,\r
4991     866, 872, 873,\r
4992     873, 867, 866,\r
4993     867, 873, 874,\r
4994     874, 868, 867,\r
4995     868, 874, 875,\r
4996     875, 869, 868,\r
4997     869, 875, 876,\r
4998     876, 870, 869,\r
4999     802, 809, 877,\r
5000     877, 871, 802,\r
5001     871, 877, 878,\r
5002     878, 872, 871,\r
5003     872, 878, 879,\r
5004     879, 873, 872,\r
5005     873, 879, 880,\r
5006     880, 874, 873,\r
5007     874, 880, 881,\r
5008     881, 875, 874,\r
5009     875, 881, 882,\r
5010     882, 876, 875,\r
5011     809, 816, 883,\r
5012     883, 877, 809,\r
5013     877, 883, 884,\r
5014     884, 878, 877,\r
5015     878, 884, 885,\r
5016     885, 879, 878,\r
5017     879, 885, 886,\r
5018     886, 880, 879,\r
5019     880, 886, 887,\r
5020     887, 881, 880,\r
5021     881, 887, 888,\r
5022     888, 882, 881,\r
5023     816, 739, 817,\r
5024     817, 883, 816,\r
5025     883, 817, 818,\r
5026     818, 884, 883,\r
5027     884, 818, 819,\r
5028     819, 885, 884,\r
5029     885, 819, 820,\r
5030     820, 886, 885,\r
5031     886, 820, 821,\r
5032     821, 887, 886,\r
5033     887, 821, 822,\r
5034     822, 888, 887,\r
5035     896, 890, 889,\r
5036     890, 896, 897,\r
5037     897, 891, 890,\r
5038     891, 897, 898,\r
5039     898, 892, 891,\r
5040     892, 898, 899,\r
5041     899, 893, 892,\r
5042     893, 899, 900,\r
5043     900, 894, 893,\r
5044     894, 900, 901,\r
5045     901, 895, 894,\r
5046     902, 896, 889,\r
5047     896, 902, 903,\r
5048     903, 897, 896,\r
5049     897, 903, 904,\r
5050     904, 898, 897,\r
5051     898, 904, 905,\r
5052     905, 899, 898,\r
5053     899, 905, 906,\r
5054     906, 900, 899,\r
5055     900, 906, 907,\r
5056     907, 901, 900,\r
5057     908, 902, 889,\r
5058     902, 908, 909,\r
5059     909, 903, 902,\r
5060     903, 909, 910,\r
5061     910, 904, 903,\r
5062     904, 910, 911,\r
5063     911, 905, 904,\r
5064     905, 911, 912,\r
5065     912, 906, 905,\r
5066     906, 912, 913,\r
5067     913, 907, 906,\r
5068     914, 908, 889,\r
5069     908, 914, 915,\r
5070     915, 909, 908,\r
5071     909, 915, 916,\r
5072     916, 910, 909,\r
5073     910, 916, 917,\r
5074     917, 911, 910,\r
5075     911, 917, 918,\r
5076     918, 912, 911,\r
5077     912, 918, 919,\r
5078     919, 913, 912,\r
5079     920, 914, 889,\r
5080     914, 920, 921,\r
5081     921, 915, 914,\r
5082     915, 921, 922,\r
5083     922, 916, 915,\r
5084     916, 922, 923,\r
5085     923, 917, 916,\r
5086     917, 923, 924,\r
5087     924, 918, 917,\r
5088     918, 924, 925,\r
5089     925, 919, 918,\r
5090     926, 920, 889,\r
5091     920, 926, 927,\r
5092     927, 921, 920,\r
5093     921, 927, 928,\r
5094     928, 922, 921,\r
5095     922, 928, 929,\r
5096     929, 923, 922,\r
5097     923, 929, 930,\r
5098     930, 924, 923,\r
5099     924, 930, 931,\r
5100     931, 925, 924,\r
5101     932, 926, 889,\r
5102     926, 932, 933,\r
5103     933, 927, 926,\r
5104     927, 933, 934,\r
5105     934, 928, 927,\r
5106     928, 934, 935,\r
5107     935, 929, 928,\r
5108     929, 935, 936,\r
5109     936, 930, 929,\r
5110     930, 936, 937,\r
5111     937, 931, 930,\r
5112     938, 932, 889,\r
5113     932, 938, 939,\r
5114     939, 933, 932,\r
5115     933, 939, 940,\r
5116     940, 934, 933,\r
5117     934, 940, 941,\r
5118     941, 935, 934,\r
5119     935, 941, 942,\r
5120     942, 936, 935,\r
5121     936, 942, 943,\r
5122     943, 937, 936,\r
5123     944, 938, 889,\r
5124     938, 944, 945,\r
5125     945, 939, 938,\r
5126     939, 945, 946,\r
5127     946, 940, 939,\r
5128     940, 946, 947,\r
5129     947, 941, 940,\r
5130     941, 947, 948,\r
5131     948, 942, 941,\r
5132     942, 948, 949,\r
5133     949, 943, 942,\r
5134     950, 944, 889,\r
5135     944, 950, 951,\r
5136     951, 945, 944,\r
5137     945, 951, 952,\r
5138     952, 946, 945,\r
5139     946, 952, 953,\r
5140     953, 947, 946,\r
5141     947, 953, 954,\r
5142     954, 948, 947,\r
5143     948, 954, 955,\r
5144     955, 949, 948,\r
5145     956, 950, 889,\r
5146     950, 956, 957,\r
5147     957, 951, 950,\r
5148     951, 957, 958,\r
5149     958, 952, 951,\r
5150     952, 958, 959,\r
5151     959, 953, 952,\r
5152     953, 959, 960,\r
5153     960, 954, 953,\r
5154     954, 960, 961,\r
5155     961, 955, 954,\r
5156     962, 956, 889,\r
5157     956, 962, 963,\r
5158     963, 957, 956,\r
5159     957, 963, 964,\r
5160     964, 958, 957,\r
5161     958, 964, 965,\r
5162     965, 959, 958,\r
5163     959, 965, 966,\r
5164     966, 960, 959,\r
5165     960, 966, 967,\r
5166     967, 961, 960,\r
5167     968, 962, 889,\r
5168     962, 968, 969,\r
5169     969, 963, 962,\r
5170     963, 969, 970,\r
5171     970, 964, 963,\r
5172     964, 970, 971,\r
5173     971, 965, 964,\r
5174     965, 971, 972,\r
5175     972, 966, 965,\r
5176     966, 972, 973,\r
5177     973, 967, 966,\r
5178     974, 968, 889,\r
5179     968, 974, 975,\r
5180     975, 969, 968,\r
5181     969, 975, 976,\r
5182     976, 970, 969,\r
5183     970, 976, 977,\r
5184     977, 971, 970,\r
5185     971, 977, 978,\r
5186     978, 972, 971,\r
5187     972, 978, 979,\r
5188     979, 973, 972,\r
5189     980, 974, 889,\r
5190     974, 980, 981,\r
5191     981, 975, 974,\r
5192     975, 981, 982,\r
5193     982, 976, 975,\r
5194     976, 982, 983,\r
5195     983, 977, 976,\r
5196     977, 983, 984,\r
5197     984, 978, 977,\r
5198     978, 984, 985,\r
5199     985, 979, 978,\r
5200     986, 980, 889,\r
5201     980, 986, 987,\r
5202     987, 981, 980,\r
5203     981, 987, 988,\r
5204     988, 982, 981,\r
5205     982, 988, 989,\r
5206     989, 983, 982,\r
5207     983, 989, 990,\r
5208     990, 984, 983,\r
5209     984, 990, 991,\r
5210     991, 985, 984,\r
5211     992, 986, 889,\r
5212     986, 992, 993,\r
5213     993, 987, 986,\r
5214     987, 993, 994,\r
5215     994, 988, 987,\r
5216     988, 994, 995,\r
5217     995, 989, 988,\r
5218     989, 995, 996,\r
5219     996, 990, 989,\r
5220     990, 996, 997,\r
5221     997, 991, 990,\r
5222     998, 992, 889,\r
5223     992, 998, 999,\r
5224     999, 993, 992,\r
5225     993, 999, 1000,\r
5226     1000, 994, 993,\r
5227     994, 1000, 1001,\r
5228     1001, 995, 994,\r
5229     995, 1001, 1002,\r
5230     1002, 996, 995,\r
5231     996, 1002, 1003,\r
5232     1003, 997, 996,\r
5233     1004, 998, 889,\r
5234     998, 1004, 1005,\r
5235     1005, 999, 998,\r
5236     999, 1005, 1006,\r
5237     1006, 1000, 999,\r
5238     1000, 1006, 1007,\r
5239     1007, 1001, 1000,\r
5240     1001, 1007, 1008,\r
5241     1008, 1002, 1001,\r
5242     1002, 1008, 1009,\r
5243     1009, 1003, 1002,\r
5244     1010, 1004, 889,\r
5245     1004, 1010, 1011,\r
5246     1011, 1005, 1004,\r
5247     1005, 1011, 1012,\r
5248     1012, 1006, 1005,\r
5249     1006, 1012, 1013,\r
5250     1013, 1007, 1006,\r
5251     1007, 1013, 1014,\r
5252     1014, 1008, 1007,\r
5253     1008, 1014, 1015,\r
5254     1015, 1009, 1008,\r
5255     1016, 1010, 889,\r
5256     1010, 1016, 1017,\r
5257     1017, 1011, 1010,\r
5258     1011, 1017, 1018,\r
5259     1018, 1012, 1011,\r
5260     1012, 1018, 1019,\r
5261     1019, 1013, 1012,\r
5262     1013, 1019, 1020,\r
5263     1020, 1014, 1013,\r
5264     1014, 1020, 1021,\r
5265     1021, 1015, 1014,\r
5266     1022, 1016, 889,\r
5267     1016, 1022, 1023,\r
5268     1023, 1017, 1016,\r
5269     1017, 1023, 1024,\r
5270     1024, 1018, 1017,\r
5271     1018, 1024, 1025,\r
5272     1025, 1019, 1018,\r
5273     1019, 1025, 1026,\r
5274     1026, 1020, 1019,\r
5275     1020, 1026, 1027,\r
5276     1027, 1021, 1020,\r
5277     1028, 1022, 889,\r
5278     1022, 1028, 1029,\r
5279     1029, 1023, 1022,\r
5280     1023, 1029, 1030,\r
5281     1030, 1024, 1023,\r
5282     1024, 1030, 1031,\r
5283     1031, 1025, 1024,\r
5284     1025, 1031, 1032,\r
5285     1032, 1026, 1025,\r
5286     1026, 1032, 1033,\r
5287     1033, 1027, 1026,\r
5288     890, 1028, 889,\r
5289     1028, 890, 891,\r
5290     891, 1029, 1028,\r
5291     1029, 891, 892,\r
5292     892, 1030, 1029,\r
5293     1030, 892, 893,\r
5294     893, 1031, 1030,\r
5295     1031, 893, 894,\r
5296     894, 1032, 1031,\r
5297     1032, 894, 895,\r
5298     895, 1033, 1032,\r
5299     895, 901, 1040,\r
5300     1040, 1034, 895,\r
5301     1034, 1040, 1041,\r
5302     1041, 1035, 1034,\r
5303     1035, 1041, 1042,\r
5304     1042, 1036, 1035,\r
5305     1036, 1042, 1043,\r
5306     1043, 1037, 1036,\r
5307     1037, 1043, 1044,\r
5308     1044, 1038, 1037,\r
5309     1038, 1044, 1045,\r
5310     1045, 1039, 1038,\r
5311     901, 907, 1046,\r
5312     1046, 1040, 901,\r
5313     1040, 1046, 1047,\r
5314     1047, 1041, 1040,\r
5315     1041, 1047, 1048,\r
5316     1048, 1042, 1041,\r
5317     1042, 1048, 1049,\r
5318     1049, 1043, 1042,\r
5319     1043, 1049, 1050,\r
5320     1050, 1044, 1043,\r
5321     1044, 1050, 1051,\r
5322     1051, 1045, 1044,\r
5323     907, 913, 1052,\r
5324     1052, 1046, 907,\r
5325     1046, 1052, 1053,\r
5326     1053, 1047, 1046,\r
5327     1047, 1053, 1054,\r
5328     1054, 1048, 1047,\r
5329     1048, 1054, 1055,\r
5330     1055, 1049, 1048,\r
5331     1049, 1055, 1056,\r
5332     1056, 1050, 1049,\r
5333     1050, 1056, 1057,\r
5334     1057, 1051, 1050,\r
5335     913, 919, 1058,\r
5336     1058, 1052, 913,\r
5337     1052, 1058, 1059,\r
5338     1059, 1053, 1052,\r
5339     1053, 1059, 1060,\r
5340     1060, 1054, 1053,\r
5341     1054, 1060, 1061,\r
5342     1061, 1055, 1054,\r
5343     1055, 1061, 1062,\r
5344     1062, 1056, 1055,\r
5345     1056, 1062, 1063,\r
5346     1063, 1057, 1056,\r
5347     919, 925, 1064,\r
5348     1064, 1058, 919,\r
5349     1058, 1064, 1065,\r
5350     1065, 1059, 1058,\r
5351     1059, 1065, 1066,\r
5352     1066, 1060, 1059,\r
5353     1060, 1066, 1067,\r
5354     1067, 1061, 1060,\r
5355     1061, 1067, 1068,\r
5356     1068, 1062, 1061,\r
5357     1062, 1068, 1069,\r
5358     1069, 1063, 1062,\r
5359     925, 931, 1070,\r
5360     1070, 1064, 925,\r
5361     1064, 1070, 1071,\r
5362     1071, 1065, 1064,\r
5363     1065, 1071, 1072,\r
5364     1072, 1066, 1065,\r
5365     1066, 1072, 1073,\r
5366     1073, 1067, 1066,\r
5367     1067, 1073, 1074,\r
5368     1074, 1068, 1067,\r
5369     1068, 1074, 1075,\r
5370     1075, 1069, 1068,\r
5371     931, 937, 1076,\r
5372     1076, 1070, 931,\r
5373     1070, 1076, 1077,\r
5374     1077, 1071, 1070,\r
5375     1071, 1077, 1078,\r
5376     1078, 1072, 1071,\r
5377     1072, 1078, 1079,\r
5378     1079, 1073, 1072,\r
5379     1073, 1079, 1080,\r
5380     1080, 1074, 1073,\r
5381     1074, 1080, 1081,\r
5382     1081, 1075, 1074,\r
5383     937, 943, 1082,\r
5384     1082, 1076, 937,\r
5385     1076, 1082, 1083,\r
5386     1083, 1077, 1076,\r
5387     1077, 1083, 1084,\r
5388     1084, 1078, 1077,\r
5389     1078, 1084, 1085,\r
5390     1085, 1079, 1078,\r
5391     1079, 1085, 1086,\r
5392     1086, 1080, 1079,\r
5393     1080, 1086, 1087,\r
5394     1087, 1081, 1080,\r
5395     943, 949, 1088,\r
5396     1088, 1082, 943,\r
5397     1082, 1088, 1089,\r
5398     1089, 1083, 1082,\r
5399     1083, 1089, 1090,\r
5400     1090, 1084, 1083,\r
5401     1084, 1090, 1091,\r
5402     1091, 1085, 1084,\r
5403     1085, 1091, 1092,\r
5404     1092, 1086, 1085,\r
5405     1086, 1092, 1093,\r
5406     1093, 1087, 1086,\r
5407     949, 955, 1094,\r
5408     1094, 1088, 949,\r
5409     1088, 1094, 1095,\r
5410     1095, 1089, 1088,\r
5411     1089, 1095, 1096,\r
5412     1096, 1090, 1089,\r
5413     1090, 1096, 1097,\r
5414     1097, 1091, 1090,\r
5415     1091, 1097, 1098,\r
5416     1098, 1092, 1091,\r
5417     1092, 1098, 1099,\r
5418     1099, 1093, 1092,\r
5419     955, 961, 1100,\r
5420     1100, 1094, 955,\r
5421     1094, 1100, 1101,\r
5422     1101, 1095, 1094,\r
5423     1095, 1101, 1102,\r
5424     1102, 1096, 1095,\r
5425     1096, 1102, 1103,\r
5426     1103, 1097, 1096,\r
5427     1097, 1103, 1104,\r
5428     1104, 1098, 1097,\r
5429     1098, 1104, 1105,\r
5430     1105, 1099, 1098,\r
5431     961, 967, 1106,\r
5432     1106, 1100, 961,\r
5433     1100, 1106, 1107,\r
5434     1107, 1101, 1100,\r
5435     1101, 1107, 1108,\r
5436     1108, 1102, 1101,\r
5437     1102, 1108, 1109,\r
5438     1109, 1103, 1102,\r
5439     1103, 1109, 1110,\r
5440     1110, 1104, 1103,\r
5441     1104, 1110, 1111,\r
5442     1111, 1105, 1104,\r
5443     967, 973, 1112,\r
5444     1112, 1106, 967,\r
5445     1106, 1112, 1113,\r
5446     1113, 1107, 1106,\r
5447     1107, 1113, 1114,\r
5448     1114, 1108, 1107,\r
5449     1108, 1114, 1115,\r
5450     1115, 1109, 1108,\r
5451     1109, 1115, 1116,\r
5452     1116, 1110, 1109,\r
5453     1110, 1116, 1117,\r
5454     1117, 1111, 1110,\r
5455     973, 979, 1118,\r
5456     1118, 1112, 973,\r
5457     1112, 1118, 1119,\r
5458     1119, 1113, 1112,\r
5459     1113, 1119, 1120,\r
5460     1120, 1114, 1113,\r
5461     1114, 1120, 1121,\r
5462     1121, 1115, 1114,\r
5463     1115, 1121, 1122,\r
5464     1122, 1116, 1115,\r
5465     1116, 1122, 1123,\r
5466     1123, 1117, 1116,\r
5467     979, 985, 1124,\r
5468     1124, 1118, 979,\r
5469     1118, 1124, 1125,\r
5470     1125, 1119, 1118,\r
5471     1119, 1125, 1126,\r
5472     1126, 1120, 1119,\r
5473     1120, 1126, 1127,\r
5474     1127, 1121, 1120,\r
5475     1121, 1127, 1128,\r
5476     1128, 1122, 1121,\r
5477     1122, 1128, 1129,\r
5478     1129, 1123, 1122,\r
5479     985, 991, 1130,\r
5480     1130, 1124, 985,\r
5481     1124, 1130, 1131,\r
5482     1131, 1125, 1124,\r
5483     1125, 1131, 1132,\r
5484     1132, 1126, 1125,\r
5485     1126, 1132, 1133,\r
5486     1133, 1127, 1126,\r
5487     1127, 1133, 1134,\r
5488     1134, 1128, 1127,\r
5489     1128, 1134, 1135,\r
5490     1135, 1129, 1128,\r
5491     991, 997, 1136,\r
5492     1136, 1130, 991,\r
5493     1130, 1136, 1137,\r
5494     1137, 1131, 1130,\r
5495     1131, 1137, 1138,\r
5496     1138, 1132, 1131,\r
5497     1132, 1138, 1139,\r
5498     1139, 1133, 1132,\r
5499     1133, 1139, 1140,\r
5500     1140, 1134, 1133,\r
5501     1134, 1140, 1141,\r
5502     1141, 1135, 1134,\r
5503     997, 1003, 1142,\r
5504     1142, 1136, 997,\r
5505     1136, 1142, 1143,\r
5506     1143, 1137, 1136,\r
5507     1137, 1143, 1144,\r
5508     1144, 1138, 1137,\r
5509     1138, 1144, 1145,\r
5510     1145, 1139, 1138,\r
5511     1139, 1145, 1146,\r
5512     1146, 1140, 1139,\r
5513     1140, 1146, 1147,\r
5514     1147, 1141, 1140,\r
5515     1003, 1009, 1148,\r
5516     1148, 1142, 1003,\r
5517     1142, 1148, 1149,\r
5518     1149, 1143, 1142,\r
5519     1143, 1149, 1150,\r
5520     1150, 1144, 1143,\r
5521     1144, 1150, 1151,\r
5522     1151, 1145, 1144,\r
5523     1145, 1151, 1152,\r
5524     1152, 1146, 1145,\r
5525     1146, 1152, 1153,\r
5526     1153, 1147, 1146,\r
5527     1009, 1015, 1154,\r
5528     1154, 1148, 1009,\r
5529     1148, 1154, 1155,\r
5530     1155, 1149, 1148,\r
5531     1149, 1155, 1156,\r
5532     1156, 1150, 1149,\r
5533     1150, 1156, 1157,\r
5534     1157, 1151, 1150,\r
5535     1151, 1157, 1158,\r
5536     1158, 1152, 1151,\r
5537     1152, 1158, 1159,\r
5538     1159, 1153, 1152,\r
5539     1015, 1021, 1160,\r
5540     1160, 1154, 1015,\r
5541     1154, 1160, 1161,\r
5542     1161, 1155, 1154,\r
5543     1155, 1161, 1162,\r
5544     1162, 1156, 1155,\r
5545     1156, 1162, 1163,\r
5546     1163, 1157, 1156,\r
5547     1157, 1163, 1164,\r
5548     1164, 1158, 1157,\r
5549     1158, 1164, 1165,\r
5550     1165, 1159, 1158,\r
5551     1021, 1027, 1166,\r
5552     1166, 1160, 1021,\r
5553     1160, 1166, 1167,\r
5554     1167, 1161, 1160,\r
5555     1161, 1167, 1168,\r
5556     1168, 1162, 1161,\r
5557     1162, 1168, 1169,\r
5558     1169, 1163, 1162,\r
5559     1163, 1169, 1170,\r
5560     1170, 1164, 1163,\r
5561     1164, 1170, 1171,\r
5562     1171, 1165, 1164,\r
5563     1027, 1033, 1172,\r
5564     1172, 1166, 1027,\r
5565     1166, 1172, 1173,\r
5566     1173, 1167, 1166,\r
5567     1167, 1173, 1174,\r
5568     1174, 1168, 1167,\r
5569     1168, 1174, 1175,\r
5570     1175, 1169, 1168,\r
5571     1169, 1175, 1176,\r
5572     1176, 1170, 1169,\r
5573     1170, 1176, 1177,\r
5574     1177, 1171, 1170,\r
5575     1033, 895, 1034,\r
5576     1034, 1172, 1033,\r
5577     1172, 1034, 1035,\r
5578     1035, 1173, 1172,\r
5579     1173, 1035, 1036,\r
5580     1036, 1174, 1173,\r
5581     1174, 1036, 1037,\r
5582     1037, 1175, 1174,\r
5583     1175, 1037, 1038,\r
5584     1038, 1176, 1175,\r
5585     1176, 1038, 1039,\r
5586     1039, 1177, 1176,\r
5587 };\r
5588 \r
5589 \r
5590 //----------------------------------------------------------------------------\r
5591 // MakeTeapot Helper\r
5592 //----------------------------------------------------------------------------\r
5593 static void    MakeTeapot(\r
5594 VERTEX* pVertices,\r
5595 WORD* pwIndices )\r
5596 {\r
5597     DWORD iVertex;\r
5598 \r
5599     // Copy vertices\r
5600     for( iVertex = 0; iVertex < NUMTEAPOTVERTICES; iVertex++ )\r
5601     {\r
5602         pVertices[iVertex].pos = teapotPositions[iVertex];\r
5603         pVertices[iVertex].norm = teapotNormals[iVertex];\r
5604     }\r
5605 \r
5606     // Copy face indices\r
5607     WORD* pwFace = pwIndices;\r
5608     WORD* pwFaceLim = pwFace + NUMTEAPOTINDICES;\r
5609     WORD* pwTeapotFace = teapotIndices;\r
5610 \r
5611     while( pwFace < pwFaceLim )\r
5612     {\r
5613         pwFace[0] = pwTeapotFace[0];\r
5614         pwFace[1] = pwTeapotFace[1];\r
5615         pwFace[2] = pwTeapotFace[2];\r
5616 \r
5617         pwFace += 3;\r
5618         pwTeapotFace += 3;\r
5619     }\r
5620 }\r
5621 \r
5622 \r
5623 //----------------------------------------------------------------------------\r
5624 // DXUTCreateTeapot - createa  teapot mesh\r
5625 //----------------------------------------------------------------------------\r
5626 HRESULT WINAPI DXUTCreateTeapot( ID3D10Device* pDevice, ID3DX10Mesh** ppMesh )\r
5627 {\r
5628     HRESULT hr = S_OK;\r
5629 \r
5630     WORD* pwIndices = NULL;\r
5631     VERTEX* pVertices = NULL;\r
5632 \r
5633 \r
5634     // Validate parameters\r
5635     if( !pDevice )\r
5636         return D3DERR_INVALIDCALL;\r
5637     if( !ppMesh )\r
5638         return D3DERR_INVALIDCALL;\r
5639 \r
5640     // Create the mesh\r
5641     UINT cFaces = NUMTEAPOTINDICES / 3;\r
5642     UINT cVertices = NUMTEAPOTVERTICES;\r
5643 \r
5644     // Create enough memory for the vertices and indices\r
5645     pVertices = new VERTEX[ cVertices ];\r
5646     if( !pVertices )\r
5647         return E_OUTOFMEMORY;\r
5648     pwIndices = new WORD[ cFaces * 3 ];\r
5649     if( !pwIndices )\r
5650         return E_OUTOFMEMORY;\r
5651 \r
5652     // Create a teapot\r
5653     MakeTeapot( pVertices, pwIndices );\r
5654 \r
5655     // Create a mesh\r
5656     hr = CreateShapeMesh( pDevice, ppMesh, pVertices, cVertices, pwIndices, cFaces * 3 );\r
5657 \r
5658     // Free up the memory\r
5659     SAFE_DELETE_ARRAY( pVertices );\r
5660     SAFE_DELETE_ARRAY( pwIndices );\r
5661 \r
5662     return hr;\r
5663 }\r